Системные требования пакета FinPlus

· Операционная система: Windows 2000 или более поздняя версия;

· Процессор не ниже Pentium 133 МГц;

· Память не менее 64 Mб RAM;

· Монитор Super VGA (800x600) или с более высоким разрешением с поддержкой 256 цветов;

· Стандартные клавиатура и мышь.

Для корректной работы программы рекомендуется использовать следующие версии MS Excel:

· MS Excel 2000

· MS Excel 2002 (XP)

· MS Excel 2003.


Установка пакета FinPlus

Для установки пакета достаточно создать на жестком диске папку FinPlus и разархивировать в нее все файлы архива FinPlus.rar (в rar-архиве не более 500Кб). Для корректной работы пакета необходимо убедиться, что настройки используемой версии MS Excel позволяют использовать макросы (Сервис | Макрос | Безопасность). Рекомендуется использовать средний уровень безопасности (решение о запуске макросов принимается пользователем).


Запуск пакета FinPlus

Для начала работы с пакетом необходимо запустить его основной файл (FinPlus.xls), после чего открывается основное окно программы с главным меню.

В процессе загрузки программы может быть выдано сообщение о макровирусах. Для корректной работы пакета следует выбрать кнопку Н е отключать макросы.


Навигация по пакету FinPlus

Навигация внутри пакета может осуществляться с помощью системы меню или с помощью строки меню.


Настройка пакета

По умолчанию, при решении задач в пакете FinPlus используются следующие параметры:

· Максимальное число итераций при решении экстремальной задачи – 200. Если в процессе решения задачи число итераций превысит это значение, то процесс решения будет остановлен и пользователю будет выдано на экран соответствующее сообщение.

· Количество значащих разрядов (точность вычислений) – 2.

Для изменения этих параметров необходимо воспользоваться опцией строки меню Сервис | Настройка. При этом на экране будет отображено диалоговое окно Настройка.

С помощью этого же диалогового окна можно менять значение счетчика задач (используется в пакете для формирования имени задачи по умолчанию).


Решение задач линейного программирования

Для решения задач ЛП в пакете FinPlus необходимо нажать на кнопку Задачи ЛП в главном меню пакета или выполнить команду Задачи ЛП из строки меню. После этого в открывшемся меню следует выбрать способ ввода данных (с экрана или из файла).


Ввод данных задачи ЛП с экрана

Для ввода исходных данных с экрана необходимо нажать кнопку Ввод данных с экрана меню Задачи ЛП. После этого на экране появляется диалоговое окно Ввод данных задачи, позволяющее указать:

· размерность задачи;

· тип ее целевой функции (минимум или максимум)

· имя задачи (по умолчанию пользователю предлагается автоматически сгенерированное имя задачи, которое имеет вид ProblemX, где X – текущий номер решаемой пакетом задачи).

В программе предусмотрена проверка введенных параметров на корректность.

После ввода размерности и имени задачи открывается рабочий лист LPData, на котором выделены рамками области для ввода оставшихся данных задачи. Размеры этих областей соответствуют введенной пользователем размерности задачи. В эти области необходимо ввести:

· значения коэффициентов целевой функции [image] ;

· матрицу ограничений [image] ;

· знаки ограничений (=, >=, <=);

· вектор правых частей ограничений [image] .


Ввод данных задачи ЛП из CSV-файла

Чтобы ввести (импортировать) данные задачи ЛП из файла необходимо нажать кнопку Ввод данных из файла в меню Задачи ЛП. Если структура открываемого файла соответствует структуре, принятой в пакете FinPlus, то на экране появится рабочий лист LPData с данными задачи, прочитанными из файла. Файл с данными демонстрационной задачи (LPTest.txt) находится в папке FileSamples, поставляемой вместе с пакетом.


Изменение данных задачи ЛП

В случае необходимости внести изменения в исходные данные задачи ЛП следует воспользоваться кнопкой И зменить данные. В данной версии пакета FinPlus имеется возможность изменять:

· компоненты матрицы ограничений [image] ;

· компоненты вектора правых частей [image] ;

· коэффициенты целевой функции [image] ;

· знаки ограничений.


Генератор задач ЛП

В данной версии пакета реализована возможность генерации задачи ЛП, для которой заданы:

  • размер задачи (число переменных задачи, число ограничений задачи);
  • тип целевой функции (максимум, минимум).

Чтобы сгенерировать задачу ЛП необходимо нажать кнопку Генератор задач ЛП в меню Задачи ЛП, либо в строке меню пакета выполнить следующую последовательность команд Задачи ЛП | Генератор задач.

В открывшемся диалоговом окне Ввод данных задачи необходимо указать:

· число переменных;

· число ограничений;

· тип целевой функции (максимизация или минимизация);

· имя задачи (по умолчанию пользователю предлагается автоматически сгенерированное имя задачи, которое имеет вид ProblemX, где X – текущий номер решаемой пакетом задачи).

Предусмотрена проверка введенных параметров на корректность. После ввода размеров и имени задачи открывается рабочий лист, на котором в выделенных областях отображены данные сгенерированной задачи Problem1.


Экспорт задачи ЛП в CSV-файл

Для удобства повторной работы с задачами ЛП, введенными в пакет, реализована возможность экспорта условий введенной задачи ЛП в CSV-файл.

Для этого необходимо воспользоваться кнопкой Экспорт задачи в файл. После этого появляется диалоговое окно Экспорт задачи в текстовый файл, в котором пользователю предлагается указать какую информацию он желает получить в CSV-файле. В данной версии пакета реализована возможность экспорта:

· условия задачи в файл;

· условия задачи и ее решения в файл (в этом случае, кроме условий задачи, в файл включается тип решения и компоненты вектора x). Опция доступна только после решения задачи в пакете (кнопка Решить задачу ЛП.

Выбор варианта формирования CSV-файла подтверждается кнопкой Ok. После этого в диалоговом окне Экспорт задачи в CSV-файл пользователю предлагается задать путь и имя файла для экспорта. По умолчанию предлагается автоматически сгенерированное имя задачи, которое имеет вид ProblemX, где X – текущий номер решаемой пакетом задачи.


Решение задачи ЛП

Чтобы решить задачу, исходные данные которой были введены пользователем одним из возможных способов (с экрана, из файла) или сгенерированы, необходимо нажать кнопку Р ешить задачу ЛП.

После этого появляется диалоговое окно Отчеты, в котором пользователю предлагается указать, какие отчеты о решении задачи он желает получить вместе с решением задачи. В данной версии пакета реализована возможность предоставления следующих отчетов:

· Отчет по итерациям модифицированного симплекс-метода;

· Отчет «Постоптимальный анализ».


Отчет о решении задачи

Решение задачи завершается автоматическим формированием рабочего листа, имя которого совпадает с именем решаемой задачи. Этот лист содержит следующую информацию:

· исходные данные задачи;

· решение задачи (оптимальные значения переменных, оптимальные значения двойственных переменных, оптимальное значение целевой функции);

· отчет по итерациям модифицированного симплекс-метода (по запросу пользователя);

· отчет «Постоптимальный анализ» (по запросу пользователя).

В пакете приняты следующие обозначения:

· y – значения двойственных переменных;

· <c,x> - значение целевой функции.

Следует обратить внимание на то, что вычисления всегда выполняются с максимально возможной точностью (соответствующей типу Double в VBA), а на рабочем листе с решением приводятся значения, округленные до двух знаков после десятичной точки. Обычно такой точности достаточно для решения учебных задач. В том случае, если нужна большая точность, потребуется изменить формат рабочего листа с результатами.

В отчете также имеется информация о количестве итераций двухфазного симплекс-метода и времени, затраченного на решение задачи в пакете.

Кнопка В ернуться к задаче позволяет пользователю внести изменения в условия решенной задачи и решить задачу с новыми данными.


Отчет «Постоптимальный анализ»

В данной версии пакета FinPlus реализована возможность формирования отчета «Постоптимальный анализ» в котором исследуются три класса параметров:

  • коэффициенты целевой функции;
  • компоненты вектора ограничений;
  • коэффициенты матрицы A, соответствующие небазисным переменным.


Тестирование корректности работы модуля

В модуле, отвечающем за решение задач ЛП, реализована возможность провести ряд тестов для определения корректности его работы. Тесты заключаются в решении задач ЛП различных типов (импортируются в пакет из CSV-файла специальной структуры) и сравнение полученного в пакете решения с фактическим в автоматическом режиме.

Для запуска процедуры тестирования модуля необходимо нажать кнопку Тестирование модуля в меню Задачи ЛП. В открывшемся диалоговом окне необходимо выбрать файл LPTestFile.txt (поставляется вместе с пакетом и по умолчанию располагается в папке FileSamples). В открывшемся диалоговом окне необходимо указать:

  • количество задач для тестирования (файл LPTestFile.txt, поставляемый с этой версией пакета содержит 12 тестовых задач – по умолчанию предлагается именно это количество).

По завершению процедуры тестирования будет сформирован отчет, в котором в случае, если при решении задач был выявлен сбой в работе пакета будет указано количество корректно решенных задач и задач, при решении которых были выявлены ошибки.


Решение задач квадратичного программирования

Для решения задач КП в пакете FinPlus необходимо нажать на кнопку Задачи КП в главном меню пакета. После этого в открывшемся меню Задачи КП следует выбрать способ ввода данных (с экрана или из файла). Процесс ввода данных для задач КП мало чем отличается от ввода данных для задач ЛП. В пакете FinPlus там, где это возможно, используются одни и те же процедуры и формы.


Ввод данных задачи КП из CSV-файла

Чтобы импортировать исходные данные задачи КП из файла необходимо нажать кнопку Ввод данных из файла меню Задачи КП, либо в строке меню выполнить следующую последовательность команд: Задачи КП | Ввод данных | Ввод данных из файла. Если структура открываемого файла соответствует структуре, принятой в пакете FinPlus, то на экране появится рабочий лист QPData с данными задачи, прочитанными из файла.

Файл с данными демонстрационной задачи (QPTest.txt) находится в папке FileSamples (поставляется вместе с пакетом).


Изменение данных задачи КП

В случае необходимости внести изменения в исходные данные задачи КП следует воспользоваться кнопкой И зменить данные. В этой версии пакета имеется возможность изменять:

· компоненты матрицы ограничений A;

· компоненты матрицы D;

· компоненты вектора правых частей b;

· коэффициенты линейной составляющей целевой функции c;

· знаки ограничений;

· знаки переменных.


Решение задачи КП

Для решения задачи, исходные данные которой были введены пользователем с экрана или импортированы из файла, необходимо нажать кнопку Р ешить задачу на активном листе. Далее в появившемся диалоговом окне Отчеты пользователю предлагается указать необходимость формирования вместе с решением отчета по итерациям метода дополнительного базиса.


Отчет о решении задачи

Решение задачи завершается автоматическим формированием рабочего листа, имя которого совпадает с именем решаемой задачи. Этот лист содержит следующую информацию:

· исходные данные задачи;

· решение задачи (оптимальные значения переменных, оптимальное значение целевой функции);

· отчет по итерациям метода дополнительного базиса (по запросу пользователя).

В пакете принята следующая система обозначений:

  • f(x) – значение целевой функции.

В отчете также имеется информация о количестве итераций метода дополнительного базиса и времени, затраченного на решение задачи в пакете.

Кнопка В ернуться к задаче позволяет пользователю внести изменения в условия решенной задачи и решить задачу с новыми данными.


Завершение работы с пакетом FinPlus

Для завершения работы с пакетом FinPlus достаточно закрыть основной файл пакета (или нажать клавиши Alt+F4) или выполнить команду Выход из программы из строки меню.


Ввод данных задачи КП с экрана

Для ввода исходных данных с экрана необходимо нажать кнопку Ввод данных с экрана меню Задачи КП, либо в строке меню выполнить следующую последовательность действий: Задачи КП | Ввод данных | Ввод данных с экрана. После этого на экране появляется, как и при решении задачи ЛП, диалоговое окно Ввод данных задачи, позволяющее указать размерность задачи (число переменных и число ограничений), тип ее целевой функции (минимум или максимум) и имя задачи (по умолчанию пользователю предлагается автоматически сгенерированное имя задачи, которое имеет вид ProblemXX, где XX – номер задачи).

На открывшемся рабочем листе QData в указанных диапазонах необходимо ввести:

· значения коэффициентов линейной составляющей целевой функции [image] ;

· матрицу целевой функции D;

· матрицу ограничений A;

· знаки ограничений (=,>=,<=);

· вектор правых частей ограничений b;

· знаки переменных (+,-).

В пакете FinPlus предполагается, что матрица D симметрична и неотрицательно определена. Поэтому вводить нужно только те элементы матрицы D, которые располагаются выше и на главной диагонали матрицы D (оставшиеся элементы матрицы будут добавлены автоматически).