- •Задачи принятия управленческих решений и их реализация в среде qsb
- •Симферополь – 2009 г.
- •Введение
- •Методологические основы оптимизации
- •I.1. Необходимые условия для применения оптимизационных методов
- •I.1.1. Определение границ системы
- •I.1.2. Характеристический критерий
- •I.1.3. Независимые переменные
- •I.1.4. Модель системы
- •I.2. Структура оптимизационных задач
- •Глава I. Задача линейного программирования
- •I. 1. Разработка моделей линейного программирования.
- •I. 1.1. Пример разработки модели задачи технического контроля
- •I. 1.2. Общая постановка задачи линейного программирования
- •I. 2. Методы решения задач линейного программирования
- •I. 2.1. Графический метод решения задачи лп
- •I.2.3. Табличный симплекс-метод.
- •I.2.4. Алгоритм симплекс-метода.
- •Задачи для самостоятельного решения
- •I. 3. Двойственность в задачах линейной оптимизации
- •I. 3.1. Двойственная задача линейного программирования
- •I. 3.2. Двойственный симплекс-метод.
- •I. 4. Основные утвержднеия теории двойственности и их экономическое содержание
- •I. 4.1. Первая теорема двойственности
- •I. 4.2. Вторая теорема двойственности и ее экономическое содержание
- •I. 4.3. Третья теорема двойственности и ее экономическое содержание.
- •I. 4.4. Анализ чувствительности математической модели и диапазоны устойчивости
- •I.4.4.1. Диапазон изменения небазисной переменной
- •I.4.4.2. Диапазон изменения коэффициентов целевой функции
- •I.4.4.3. Диапазон изменения элемента вектора свободных членов
- •I.4.4.4. Диапазон изменения элемента матрицы коэффициентов системы ограничений
- •I.5. Пакет прикладных программ qsb
- •I.5.1. Главное меню пакета
- •I.5.2. Меню программы линейного программирования
- •I.5.3. Подготовка данных для задачи линейного программирования
- •I.5.4. Решение задачи линейного программирования
- •I.5.5. Просмотр и анализ результатов решения задачи
- •I.5.6. Чтение и запись задач на дискету
- •I.5.7. Mодификация (изменение) данных задачи
- •Варианты исходных данных
- •Варианты индивидуальных заданий (таблица 2).
- •Порядок выполнения работы
- •Контрольные вопросы
- •II. 1.2. Метод определения начального опорного плана перевозок
- •Задачи для самостоятельного решения
- •II.1.3. Решение транспортной задачи в qsb
- •II.2. Задача о назначениях
- •Начальная таблица
- •Iteration 1 (Итерация 1)
- •Iteration 2 (Итерация 2)
- •II. 3. Целочисленные задачи линейного программирования
- •II. 3.1. Метод отсекающих плоскостей
- •Задачи для самостоятельного решения
- •II.4. Метод ветвей и границ в задачах целочисленного программирования
- •II. 4.1. Алгоритм метода ветвей и границ
- •II. 4.2. Правила ветвления
- •II. 4.3. Два правила выбора вершины задачи лп для дальнейшего ветвления
- •II. 4.4. Некоторые рекомендации по формулировке и решению задач цлп
I.5.6. Чтение и запись задач на дискету
Для чтения задачи с дискеты необходимо выбрать пункт 3 в меню программы линейного программирования (“Read existing problem from disk(ette)” ), после этого на экране появится запрос имени файла, приведенный на Фиг. 16.
-
Read Existing Problem from Disk(ette)
Чтение существующей задачи с диска (дискеты)
Type x:xxxxxxxx.xxx for your file name (e.g., A:XYZ.DAT).
Наберите x:xxxxxxxx.xxx Для Вашего имени файла (например, A:XYZ.DAT).
What is your file name (Type A:, B:, or C: to see all the files)?
Какое имя у Вашего файла (Введите A:, B:, или C: для просмотра списка)?
Фиг. 16. Описание файла для чтения задачи с диска.
Для записи задачи на дискету необходимо выбрать пункт 6 в меню программы линейного программирования (“Save problem on disk(ette)”), после этого на экране появится запрос имени файла, приведенный на Фиг. 17.
-
Save Problem on Disk(ette).
Запись задачи на диск (дискету).
Decide on a file name for saving your problem.
Подберите имя файла для записи Вашей задачи.
The file name may be the same as the problem name.
Имя файла может быть таким же, как и имя задачи.
Type x:xxxxxxxx.xxx for your file name (e.g., A:XYZ.DAT).
Наберите x:xxxxxxxx.xxx Для Вашего имени файла (например, A:XYZ.DAT).
What is your file name (Type A:, B:, or C: to see all the files)?
Какое имя у Вашего файла (Введите A:, B:, или C: для просмотра списка)?
Фиг. 17. Описание файла для записи задачи на диск.
I.5.7. Mодификация (изменение) данных задачи
Для входа в режим модификации необходимо выбрать пункт 7 в меню задачи линейного программирования (“Modify problem”). После этого на экране появится меню выбора модифицируемых элементов задачи (см. Фиг. 18).
-
Option Menu for Modifying yyy
Меню режимов для модификации <имя задачи>
Option
Режим
1
Modify the objective function coefficients
Изменить коэффициенты целевой функции
2
Modify one constraint
Изменить одно ограничение
3
Add one constraint
Добавить одно ограничение
4
Delete one constraint
Удалить одно ограничение
5
Add one variable
Добавить одну переменную
6
Delete one variable
Удалить одну переменную
7
Display/ print input data
Просмотр/печать исходных данных
8
Return to the functional menu
Возврат в функциональное меню
Передвигая курсор вверх или вниз выберите режим и нажмите ENTER.
Фиг. 18. Меню выбора режимов модификации задачи.
После входа в режим модификации (любое изменение) программа запрашивает новое имя задачи, как показано на Фиг. 19.
-
Current problem (model) name: yyy
Существующее имя задачи (модели): <имя задачи>
What is the new problem (model) name?
Какое новое имя задачи (модели)?
Фиг. 19. Запрос имени модифицированной задачи.
При модификации ограничений, программа запрашивает номер ограничения, как показано на Фиг. 20.
-
Modify a Current
Модификация ограничения
Type the constraint number, enter 0 to return to the menu.
Введите номер ограничения или 0 для возврата в меню модификации.
Which constraints?
Какое ограничение?
Фиг. 20. Запрос номера модифицируемого ограничения.
При добавлении ограничения на экран выдается маска для ввода этого ограничения, показанная на Фиг. 21.
-
Add One Constraint Page 2
Добавить одно ограничение Страница 2
(3) ___________X1___________X2 _________
Фиг. 21. Маска для ввода дополнительного ограничения.
При удалении ограничения программа запрашивает номер ограничения, как показано на Фиг. 22.
-
Delete One Constraint
Удалить одно ограничение
Type the constraint number, enter 0 to return to the menu.
Введите номер ограничения или 0 для возврата в меню модификации.
Which constraints?
Какое ограничение?
Фиг. 22. Запрос номера удаляемого ограничения.
Пакет программ QSB предусматривает возможность добавления либо удаления переменных задачи. Протокол диалога программы с пользователем при добавлении одной переменной показан на Фиг.23.
-
Are you sure to add one variable (Y/N)?
Вы уверены, что хотите добавить одну переменную (Y/N)?
What is the variable name (default is Xn)?
Какое имя переменной (стандартное - Xn)?
Add One Variable
Добавить одну переменную
Coefficient of X3 in objective function?
Коэффициент при X3 в функции цели?
Coefficient of X3 in constraint 1?
Коэффициент при X3 в ограничении 1?
и так далее...
Фиг. 23. Протокол диалога при добавлении переменной.
