- •Задачи принятия управленческих решений и их реализация в среде 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. Некоторые рекомендации по формулировке и решению задач цлп
Начальная таблица
-
Ob\Tk
T1
T2
T3
T4
T5
Cov.Ln
О1
10.00
8.000
12.00
3.000
9.000
О2
5.000
7.000
4.000
10.00
11.00
О3
9.000
15.00
10.00
5.000
4.000
О4
8.000
5.000
6.000
7.000
4.000
О5
11.00
3.000
8.000
6.000
7.000
Cov.Ln
Press any key no continue. Or 'G'- No stop.
Нажмите любую клавишу для продолжения или 'G'- для выхода на результат.
Фиг. 28. Начальная таблица задачи о назначениях.
На Фиг. 29. показана таблица для первой итерации (первого шага) алгоритма ЗН (задачи о назначениях). Существует ряд отличительных особенностей в показе алгоритма, например
отсутствуют номера помечаемых строк и столбцов;
помечаются строки не помечаемые в алгоритме (венгерский метод);
не показаны текущие назначения.
Iteration 1 (Итерация 1)
-
Ob\Tk
T1
T2
T3
T4
T5
Cov.Ln
О1
6.000
5.000
9.000
0
6.000
О2
0
3.000
0
6.000
7.000
О3
4.000
11.00
6.000
1.000
0
О4
3.000
1.000
2.000
3.000
0
О5
7.000
0
5.000
3.000
4.000
Cov.Ln
Press any key no continue. Or 'G'- No stop.
Нажмите любую клавишу для продолжения или 'G'- для выхода на результат.
Фиг. 29. Таблица для первой итерации.
На Фиг. 30. и 31. показаны вторая и третья (последняя) итерации.
Iteration 2 (Итерация 2)
-
Ob\Tk
T1
T2
T3
T4
T5
Cov.Ln
О1
6.000
5.000
9.000
0
7.000
О2
0
3.000
0
6.000
8.000
О3
3.000
10.00
5.000
0
0
О4
2.000
0
1.000
2.000
0
О5
7.000
0
5.000
3.000
5.000
Cov.Ln
Press any key no continue. Or 'G'- No stop.
Нажмите любую клавишу для продолжения или 'G'- для выхода на результат.
Фиг. 30. Таблица для второй итерации.
Final tableau (Total Iterations=3)
Окончательная таблица (Всего итераций=3)
-
Ob\Tk
T1
T2
T3
T4
T5
Cov.Ln
О1
5.000
5.000
8.000
0
7.000
О2
0
4.000
0
7.000
9.000
О3
2.000
10.00
4.000
0
0
О4
1.000
0
0
2.000
0
О5
6.000
0
4.000
3.000
5.000
Cov.Ln
Press any key no continue. Or 'G'- No stop.
Нажмите любую клавишу для продолжения или 'G'- для выхода на результат.
Фиг. 31. Таблица для третьей итерации.
На Фиг. 32. показаны окончательные результаты решения задачи о назначениях, а на Фиг. 34. – меню просмотра и печати результатов.
Summary of Assignment for ggg Результаты назначения для (имя задачи) |
Page 1 Страница 1 |
|||||
Object Исполнитель |
Task Работа |
Cost/Prof. Стоим./Приб. |
Object Исполнитель |
Task Работа |
Cost/Prof. Стоим./Приб. |
|
О1 |
Т4 |
3.000 |
О4 |
Т3 |
6.000 |
|
О2 |
Т1 |
5.000 |
О5 |
Т2 |
3.000 |
|
О3 |
Т5 |
4.000 |
|
|
|
|
Minimum value of OBJ = 21 Total iterations = 3 Минимальная величина целевой функции = 21 Всего итераций = 3. |
||||||
Press any key no continue.
Нажмите любую клавишу для продолжения.
Фиг. 32. Таблица окончательных результатов.
Option Menu for Displaying and/or Printing the Final Solution to ggg Меню режимов для просмотра и/или печати окончательного решения для (имя задачи). You have the following options available for displaying Вы имеете следующие режимы, которые можно использовать для просмотра or printing the final solution. If you want to print the или печати окончательного решения. Если Вы хотите напечатать решение, solution, make sure that the printer is ready. Убедитесь, что принтер находится в состоянии готовности. |
|
Option Режим |
|
1 |
Display the Final solution only Только просмотр окончательного решения. |
2 |
Display and print the Final solution Просмотр и печать окончательного решения. |
3 |
Return to the functional menu Возврат в меню задачи ЛП |
Передвигая курсор вверх или вниз, выберите режим и нажмите клавишу ENTER.
Фиг. 33. Выбор режима просмотра и печати решения задачи о назначениях.
На Фиг. 34. показано меню для модификации задачи о назначениях.
Option Menu for Modifying ggg Менюрежимов для модификации (имя задачи). |
|
Option Режим |
|
1 |
Modify cost/profit coefficients Изменить коэффициенты стоимости/прибыли |
2 |
Add one objects добавить одного исполнителя |
3 |
Delete one objects Удалить одного исполнителя |
4 |
Add one task Добавить одну работу |
5 |
Delete one task Удалить одну работу |
6 |
Display and/or print input data Просмотр и/или печать исходных данных |
7 |
Return to the functional menu Возврат в меню задачи ЛП |
Передвигая курсор вверх или вниз, выберите режим и нажмите клавишу ENTER.
Фиг. 34. Меню модификации задачи о назначениях.
При модификации, как показано на Фиг. 35., программа запрашивает новое имя задачи.
-
Current problem name: ggg
Текущее имя задачи (имя задачи)
What is the new problem name?
Какое новое имя задачи?
Фиг. 35. Запрос на изменение имени задачи о назначениях.
На Фиг. 36. показан диалог при изменении коэффициентов стоимости, на Фиг. 37. – при добавлении исполнителя, на Фиг. 38. – при удалении исполнителя, на Фиг. 39. – при добавлении работы, на Фиг. 40. – при удалении работы.
Modify Cost/Profit Coefficients Изменение коэффициентов стоимости/прибыли |
|
Enter the object/task number Введите номер исполн/работы |
Enter 0 when no modification is to be entered Введите 0 для окончания модификации |
Which object? 1 Который исполнитель? |
|
Which task? 1 Которая работа? |
|
Original coefficient on O1/T1=0 существующий коэффициент |
|
What is the new coefficient? 1 Какой новый коэффициент? |
|
Which object? 1 Который исполнитель? |
|
Фиг. 36. Диалог при изменении коэффициентов стоимости.
Add One Object Добавление одного исполнителя |
||
Default object name is 'On' Стандартное имя исполнителя 'On' |
Enter
' Введите ' ' если не добавлять |
|
What is the object name? 1 Какое имя исполнителя? |
|
|
What is the cost/profit coefficient for 1 assigned to T1? 1 Какой коэффициент стоим./прибыли для назначения (имя исполнителя) на работу Т1? |
|
|
What is the cost/profit coefficient for 1 assigned to T2? 1 Какой коэффициент стоим./прибыли для назначения (имя исполнителя) на работу Т2? |
|
|
What is the cost/profit coefficient for 1 assigned to T3? 1 Какой коэффициент стоим./прибыли для назначения (имя исполнителя) на работу Т3? |
|
|
Add complete Добавление закончено. |
|
|
Фиг. 37. Диалог при добавлении исполнителя.
Delete One Object Удаление одного исполнителя |
||
Enter the object number. Введите номер исполнителя. |
Enter 0 when no Delete is to be entered. Введите 0, когда нет удаления. |
|
Which object? 1 Какой исполнитель? |
|
|
Are you sure to delete the object O1 (Y/N)? Вы уверены, что хотите удалить исполнителя (номер)? |
|
|
Фиг. 38. Диалог при удалении исполнителя.
Add One Task Добавление одной работы |
||
Default task name is 'Tn' Стандартное имя работы 'Tn' |
Enter ' ' when no add Введите ' ' если не добавлять |
|
What is the task name? 1 Какое имя работы? |
|
|
What is the cost/profit coefficient for О1 assigned to 1? 1 Какой коэффициент стоим./прибыли для (имя работы), если на нее назначить (имя исполнителя)? |
|
|
What is the cost/profit coefficient for О2 assigned to 1? 1 Какой коэффициент стоим./прибыли для (имя работы), если на нее назначить (имя исполнителя)? |
|
|
Add complete Добавление закончено. |
|
|
Фиг. 39. Диалог при добавлении работы.
Delete One Task Удаление одной работы |
||
Enter the task number. Введите номер работы. |
Enter 0 when no Delete is to be entered. Введите 0, когда нет удаления. |
|
Which task? 1 Какая работа? |
|
|
Are you sure to delete the task T1 (Y/N)? Вы уверены, что хотите удалить работу (номер)? |
|
|
Фиг. 40. Диалог при удалении работы.
