- •Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования
- •Учебно-методический комплекс
- •1. Рабочая учебная программа дисциплины
- •1.1. Цели и задачи дисциплины
- •1.2. Структура и объем дисциплины Распределение фонда времени по семестрам, неделям, видам занятий
- •1.3. Содержание дисциплины
- •1.4. Требования к уровню освоения дисциплины и формы текущего и промежуточного контроля
- •Примерный перечень вопросов для подготовки к экзамену по дисциплине «Теория принятия решений»
- •1.5. Содержание самостоятельной работы
- •Распределение самостоятельной работы студентов по темам с указанием времени
- •Содержание каждого вида самостоятельной работы и вида контроля
- •2. Учебно-методическое пособие по практическим занятиям Введение
- •2.1. Линейное программирование
- •2.1.1. Постановка задачи
- •2.1.2. Симплексный метод
- •2.1.3. Решение задачи линейного программирования средствами Excel
- •2.1.4. Двойственная задача и ее решение
- •2.2. Целочисленное программирование
- •2.2.1. Метод Гомори
- •2.2.2. Метод ветвей и границ
- •2.2.3. Алгоритм решения задачи целочисленного программирования средствами Excel
- •2.2.4. Транспортная задача
- •2.2.5. Решение транспортной задачи средствами Mathcad
- •2.2.6. Решение транспортной задачи средствами Microsoft Excel
- •2.2.7. Решение задачи о назначении средствами Mathcad
- •2.2.8. Решение задачи о назначении средствами Microsoft Excel
- •2.2.9. Решение задач нелинейного программирования средствами Microsoft Excel
- •2.3. Матричные игры
- •2.3.1. Основные понятия теории игр
- •2.3.2. Решение игр в чистых стратегиях (с седловой точкой)
- •2.3.3. Приведение решения матричной игры к решению задачи линейного программирования
- •2.3.4. Игры с природой
- •2.3.5. Критерии принятия решения
- •1. Критерий Байеса
- •2.4. Практические работы
- •2.4.1. Практическая работа №1
- •1.1. Одноиндексные задачи лп
- •1.2. Ввод исходных данных
- •1.3. Решение задачи
- •1.4. Целочисленное программирование
- •1.5. Двухиндексные задачи лп
- •1.6. Задачи с булевыми переменными
- •1.7. Возможные ошибки при вводе условий задач лп
- •2.4.2. Практическая работа № 2 «Одноиндексные задачи линейного программирования»
- •2.1. Теоретическая часть
- •Целевая функция (цф)
- •При ограничениях
- •19 Верхних и нижних стенок, 12 верхних и нижних стенок,
- •9 Боковых стенок 36 боковых стенок
- •2.4.3. Практическая работа № 3 «Анализ чувствительности одноиндексных задач линейного программирования»
- •3.1. Теоретическая часть
- •3.1.1. Задачи анализа оптимального решения на чувствительность
- •3.1.2. Графический анализ оптимального решения на чувствительность
- •3.1.3. Анализ оптимального решения на чувствительность в Excel
- •3.1.3.1. Отчет по результатам
- •3.1.3.2. Отчет по устойчивости
- •2.4.4. Практическая работа № 4 «Двухиндексные задачи линейного программирования. Стандартная транспортная задача»
- •4.1. Теоретическая часть
- •4.1.1. Стандартная модель транспортной задачи (тз)
- •4.1.2. Пример построения модели тз
- •2.4.5. Практическая работа № 5 «Двухиндексные задачи линейного программирования. Задача о назначениях»
- •5.1. Теоретическая часть
- •5.1.1. Задача о назначениях
- •5.1.2. Постановка задачи о назначениях
- •5.1.3. Рекомендации к решению задачи о назначениях
- •2.4.6. Практическая работа № 6 «Двухиндексные задачи линейного программирования. Организация оптимальной системы снабжения»
- •6.1. Постановка задачи
- •6.2. Рекомендации к решению задачи
- •2.4.7. Лабораторная работа № 7 «Двухиндексные задачи линейного программирования. Оптимальное распределение производственных мощностей»
- •7.1. Теоретическая часть
- •7.2. Постановка задачи распределения производственных мощностей
- •7.3. Построение и решение рз лп
- •2.5. Контрольные задания
- •2.5.1. Линейное программирование
- •2.5.2. Двойственные задачи
- •2.5.3. Целочисленное программирование
- •2.5.4. Транспортная задача
- •2.5.5. Матричные игры*)
- •2.5.6. Приведение решения матричной игры к решению задачи линейного программирования*)
- •2.5.7. Игры с природой
- •2.5.8. Нелинейное программирование
- •2.6. Задания для самостоятельного решения
- •2.6.1. Самостоятельная работа № 1
- •2. Задачи работы:
- •3. Общее описание задания
- •4. Варианты задания
- •5. Требования к оформлению результатов
- •2.6.2. Самостоятельная работа № 2
- •2. Задачи работы:
- •3. Общее описание задания
- •4. Варианты задания
- •5. Требования к оформлению результатов
- •2.6.3. Самостоятельная работа № 3
- •2. Задачи работы:
- •3. Общее описание задания
- •4. Варианты задания
- •5. Требования к оформлению результатов
- •2.6.4. Самостоятельная работа № 4
- •2. Задачи работы:
- •3. Общее описание задания
- •4. Варианты задания
- •5. Требования к оформлению результатов
- •2.6.5. Самостоятельная работа № 5
- •2. Задачи работы:
- •3. Общее описание задания
- •4. Варианты задания
- •2.6.6. Самостоятельная работа № 6
- •2. Задачи работы:
- •3. Общее описание задания
- •4. Варианты задания
- •5. Требования к оформлению результатов
- •2.7. Задания для тестирования Вариант № 1
- •3. Транспортная задача
- •Вариант № 2
- •3. Транспортная задача
- •Вариант № 3
- •3. Транспортная задача
- •Вариант № 4
- •3. Транспортная задача
- •Вариант № 5
- •3. Транспортная задача
- •Вариант № 6
- •3. Транспортная задача
- •Вариант № 7
- •3. Транспортная задача
- •Вариант № 8
- •3. Транспортная задача
- •Вариант № 9
- •3. Транспортная задача
- •Вариант № 10
- •3. Транспортная задача
- •Вариант № 11
- •3. Транспортная задача
- •Вариант № 12
- •3. Транспортная задача
- •Вариант № 13
- •3. Транспортная задача
- •Вариант № 14
- •3. Транспортная задача
- •Вариант № 15
- •3. Транспортная задача
- •Вариант № 16
- •3. Транспортная задача
- •Вариант № 17
- •3. Транспортная задача
- •Вариант № 18
- •3. Транспортная задача
- •Вариант № 19
- •3. Транспортная задача
- •Вариант № 20
- •3. Транспортная задача
- •Вариант № 21
- •3. Транспортная задача
- •Вариант № 22
- •3. Транспортная задача
- •Вариант № 23
- •3. Транспортная задача
- •Вариант № 24
- •3. Транспортная задача
- •Вариант № 25
- •3. Транспортная задача
- •Вариант № 26
- •3. Транспортная задача
- •Вариант № 27
- •3. Транспортная задача
- •Вариант № 28
- •3. Транспортная задача
- •3. Учебно-методическое обеспечение дисциплины
- •3.1. Перечень основной и дополнительной литературы
- •3.1.1. Основная литература:
- •3.1.2. Дополнительная литература:
- •3.2. Методические рекомендации преподавателю
- •3.3. Методические указания студентам по изучению дисциплины
- •3.4. Учебно-методическая карта дисциплины
- •3.5. Материально-техническое обеспечение дисциплины
- •3.6. Программное обеспечение использования современных информационно-коммуникативных технологий
- •3.7. Технологическая карта дисциплины Поволжский государственный университет сервиса
- •Решение задач линейного программирования симплекс-методом
- •Решение задач систем массового обслуживания
- •П.3.2. Решение задачи смо традиционными методами
- •П.3. Решение задачи смо с использованием системы Mathcad
Решение задач линейного программирования симплекс-методом
Симплекс-метод является классическим, наиболее проработанным и, соответственно, наиболее распространенным методом в линейном программировании. В данном приложении сформулирован алгоритм решения задачи, который проиллюстрирован на примере.
П.1.1. Постановка задачи линейного программирования
Задача ЛП заключается в отыскании вектора (х1, х2,…,хj, …, хn), максимизирующего линейную целевую функцию
Z = с1х1 + с2х2 +…+ сjхj +…+ сnхn, (П.1)
при следующих линейных ограничениях
(П.2)
…,
(П.3)
Запись задачи ЛП в виде (П.1)–(П.3) называется нормальной формой задачи.
Эту же задачу ЛП можно представить в векторно-матричной записи:
CX → max
AX ≤ B, x ≥ 0, где C = (c1,
c2,…,cn),
,
В =
,
– матрица коэффициентов, С – вектор
коэффициентов целевой функции.
Область
называется областью допустимых значений
(ОДЗ) задач линейного программирования.
Соотношения (П.2) и (П.3) называются системами ограничений задачи ЛП.
Так как
то можно ограничиться изучением задачи
одного типа
Решением задачи ЛП называется вектор, удовлетворяющий системе ограничений задачи и оптимизирующий целевую функцию.
Другая форма представления задачи ЛП – каноническая. Она имеет вид:
CX → max
AX = B, X ≥ 0.
Наряду с задачей ЛП в нормальной форме (П.1)–(П.3) рассмотрим задачу
(П.4)
(П.5)
где
–
перемены двойственной задачи.
Задача (П.4), (П.5) называется двойственной по отношению к задаче (П.1)–(П.3).
П.1.2. Алгоритм симплекс-метода
Симплекс-метод является наиболее распространенным вычислительным методом, который может быть применен для решения любых задач ЛП как вручную, так и с помощью ЭВМ.
Этот метод позволяет переходить от одного допустимого решения к другому, причем так, что значения целевой функции непрерывно возрастают. В результате оптимальное решение находят за конечное число шагов. Алгоритм симплекс-метода позволяет также установить является ли задача ЛП разрешимой.
1. Рассмотрим задачу ЛП в нормальной форме (П.1)–(П.3). Сделаем допущения: В ≥ 0.
Введем вектор Y такой, что Y = B
– AX, Y
Rm,
Y ≥ 0,
Y = (xn+1, xn+2, . . .,xn+m)T. Вектор Y называют балансовым, а xn+1, xn+2, …, xn+m – балансовыми переменными.
Тогда систему ограничений (П.2) задачи ЛП можно записать:
,
(П.6)
причем
.
(П.7)
Таким образом, задачу ЛП (П.1)–(П.3) привели от нормальной формы к канонической.
В целевую функцию балансовые переменные входят с нулевыми коэффициентами, т.е.
=c1x1
+ c2x2 +…+ cnxn
+ 0xn+1 +…+ 0⋅xn+m
или
где
(П.8)
Итак, вместо задачи (П.1)–(П.3) будем искать решение задачи (П.8), (П.6), (П.7).
2. Положим j = 1. Взяв переменные х,…, хn за свободные и положив их равными нулю, а хn+1,…, хn+m – за базисные, находим первую крайнюю точку.
3. Обозначим через Аk вектор, вектор составленный из коэффициентов при переменной хk, через СБ – вектор, составленный из координат, соответствующих базисным переменным.
Вычислим симплексные разности Δk в j-той крайней точке по формуле
Δk = AkCБ –
,
k =
(П.9)
Заполняется симплекс-таблица (табл. П.1) по указанным выше правилам.
Таблица П.1
Базис |
CБ |
|
|
|
… |
|
|
… |
|
В |
А1 |
А2 |
… |
Ап |
Ап+1 |
… |
Ап+т |
||
xn+1 |
|
b1 |
|
|
… |
|
1 |
… |
0 |
xn+2 |
|
b2 |
|
|
… |
|
0 |
… |
0 |
. |
. |
. |
. |
. |
… |
. |
. |
… |
. |
. |
. |
. |
. |
. |
… |
. |
. |
… |
. |
. |
. |
. |
. |
. |
… |
. |
. |
… |
. |
xn+m |
|
bm |
|
|
… |
|
0 |
… |
1 |
|
|
|
|
|
… |
|
|
… |
|
4. Если для j-той крайней точки все
симплексные разности Δk ≥0, k
=
,
то эта точка оптимальная. Конец решения.
Если есть столбец, в котором симплексная
разность Δk0 ≤ 0, а все элементы
столбца αik0 ≤ 0, i =
,
то задача ЛП решения не имеет, т.к. целевая
функция неограничена сверху.
В остальных случаях переход к п. 5.
5. Находим k0 – направляющий столбец. Выбираем столбец, в котором самая минимальная симплекс разность среди отрицательных симплекс разностей (напомним, что решаем задачу максимизации) т.е.
min Δk = Δk0 (П.10)
Δk < 0.
Направляющая строка i0 выбирает из условия
(П.11)
Итак, направляющий элемент αi0k0.
Заполняем таблицу, соответствующую новому решению.
6. Выполняем один шаг метода Гаусса, введя в базис вектор Аk0 вместо вектора Аn0, имеющего i0 – координату, равную 1. Для это используются следующие соотношения:
– новые элементы направляющей строки находятся:
(П.12)
– новые элементы направляющего столбца:
|
причем
|
(П.13) |
|
т.е. в направляющем столбце все элементы равны 0, а направляющий элемент равен 1.
– новые значения остальных элементов матрицы:
(П.14)
– новые значения симплексных разностей:
.
(П.15)
Правильность вычислений контролируется по формулам непосредственного счета:
,
.
(П.16)
Получаем (j + 1) крайнюю точку. Полагая j = j + 1, переходим к п. 4.
Построение симплекс-таблиц продолжается до тех пор, пока не будет получено оптимальное решение.
Замечание 1. Если для некоторой
крайней точки
для
то
–
оптимальное решение задачи (П.1)–(П.3),
причем
Замечание 2. Пусть в некоторой крайней точке все симплексные разности неотрицательные Δk ≥ 0 ( ) и существует такое, что Аk0 – небазисный вектор и Δk0 = 0. Тогда максимум достигается по крайней мере в двух в двух точках, т.е. имеет место альтернативный оптимум.
Замечание 3. Решение двойственной задачи находится по последней симплексной таблице. Последние m компонент вектора симплексных разностей – оптимальное решение двойственной задачи.
Значение целевых функций прямой и двойственной задачи в оптимальных точках совпадают.
Замечание 4. При решении задачи минимизации в базис вводится вектор с наибольшей положительной симплексной разностью.
П.1.3. Пример решения задачи ЛП симплекс-методом
Пример П.1. Найти максимальное значение линейной функции
Z = x1 + 2x2
при ограничениях
(П.17)
Перейдем от исходной задачи к задаче с ограничениями типа равенств. Введем вектор балансовых переменных y, размерность которого равна числу неравенств в системе ограничений: y = (x3, x4, x5). Все балансовые переменные неотрицательные, в целевой функции им соответствуют коэффициенты, равные нулю. Исходную задачу преобразовали к виду
(П.18)
.
Заполняем первую симплексную таблицу (табл. П.2).
Таблица П.2
Базис |
СБ |
|
1 |
2 |
0 |
0 |
0 |
В |
А1 |
А2 |
А3 |
А4 |
А5 |
||
х3 |
0 |
9 |
1 |
1 |
1 |
0 |
0 |
х4 |
0 |
3 |
–1 |
1 |
0 |
1 |
0 |
х5 |
0 |
3 |
1 |
–1 |
0 |
0 |
1 |
|
|
Z=0 |
–1 |
–2 |
0 |
0 |
0 |
Переменные x3, x4, x5 образуют базис. Свободные переменные х1, х2 выбираем равными нулю. Тогда системе ограничений задачи (П.18) удовлетворяет вектор
=
(0,0,9,3,3)T
(сравните значение базисных переменных с вектором В в симплексной таблице).
- первая крайняя точка.
Так как x3, x4, x5
– базисные переменные, то CБ
= (
)
= (0,0,0).
Умножая скалярно вектор CБ и
А1 и вычитая из произведения
,
находим симплексную разность Δ1.
Аналогично, вычисляем остальные
симплексные разности Δk (k =
)
в первой крайней точке. Полученные
значения записываем в последнюю строку
таблицы.
Вычислим значение целевой функции в первой крайней точке:
СБ В = 0
Так как для первой крайней точки имеются
отрицательные симплексные разности,
то она не является оптимальной. Ищем
вторую крайнюю точку. По формуле
находим переменную, вводимую в базис
т.е. в базис надо ввести х2.
Т.о. направляющий столбец с номером – 2.
Определим переменную, выводимую из базиса
,
т.е.
.
Значит, направляющая строка имеет номер 2.
Обратите внимание, что отношение
не принималось во внимание при нахождении
значения индекса i0, так как
значение коэффициента α32 <
0. Переменная, выводимая из базиса х4.
Т.о. направляющий элемент α22
= 1.
Используя один шаг метода Гаусса, введем в базис переменную х2 вместо переменной х4, применяя соотношение (П.12)–(П.16). Тем самым найдем координаты второй крайней точки.
Заполняем вторую симплексную таблицу (табл. П.3).
Таблица П.3
Базис |
СБ |
|
1 |
2 |
0 |
0 |
0 |
В |
А1 |
А2 |
А3 |
А4 |
А5 |
||
х3 |
0 |
6 |
2 |
0 |
1 |
–1 |
0 |
х2 |
2 |
3 |
–1 |
1 |
0 |
1 |
0 |
х5 |
0 |
6 |
0 |
0 |
0 |
1 |
1 |
|
|
|
–3 |
0 |
0 |
2 |
0 |
Сейчас в базисе переменные x3, x2, x5 (порядок именно такой).
Свободные переменные х1 = 0 и
х4 = 0. Тогда базисные переменные
принимают значения x3 = 6, x2
= 3, x5 = 6. Вторая крайняя
точка
=(0,3,6,0,6)Т.
Вектор СБ для этой точки имеет
вид: CБ = (
)
= (0,2,0).
Строку симплексных разностей вычисляем по формуле:
Δk = CБAk –
,
k =
,
Δ1 = –3, Δ2 = 0, Δ3 = 0, Δ4 = 2, Δ5 = 0.
Значение целевой функции во второй крайней точке
СБ
В =0⋅6
+ 2⋅3 + 0⋅6
= 6.
Для второй крайней точки одна из симплексных разностей отрицательна, поэтому эта точка еще не является оптимальной.
Находим очередную крайнюю точку. Переменную х1 вводим в базис, так как
т.е. направляющий столбец имеет номер
1.
,
т.е. i0 = 1, т.е.
направляющая строка имеет номер 1.
Тогда переменная х3 – выводится из базиса. Направляющий элемент α11 = 2.
Осуществляя один шаг метода Гаусса, пользуясь соотношениями (П.12)–(П.16) получим третью симплексную таблицу (табл. П.4).
Таблица П.4
Базис |
СБ |
|
1 |
2 |
0 |
0 |
0 |
В |
А1 |
А2 |
А3 |
А4 |
А5 |
||
х1 |
1 |
3 |
1 |
0 |
0,5 |
–0,5 |
0 |
х2 |
2 |
6 |
0 |
1 |
0,5 |
0,5 |
0 |
х5 |
0 |
6 |
0 |
0 |
0 |
1 |
1 |
|
|
Z = 15 |
0 |
0 |
1,5 |
0,5 |
0 |
Найдена третья крайняя точка
=(3,6,0,0,6)Т,
CБ = (
)T
= (1,2,0)T,
Δ1 = Δ2 = Δ5 = 0, Δ3
=
,
Δ4 =
.
Так как все симплексные разности
неотрицательны, то третья крайняя точка
является оптимальной. Значение целевой
функции в оптимальной точке равно
CБ⋅В
= 1⋅3 + 2⋅6
+ 0⋅6 = 15.
Таким образом, найдено оптимальное
решение задачи (П.18). Отбросив в векторе
балансовые переменные, получим оптимальное
решение исходной задачи Xопт
= (3,6), Zmax = 15.
Рассмотрим геометрическую интерпретацию решения. Построим область допустимых решений задачи (П.17), это многоугольник ОАВСD.
|
Отметим найденные крайние точки. Первая точка совпадает с вершиной О; вторая – с вершиной А; третья оптимальная точка – вершина В.
Найдем решение двойственной задачи.
W = 9U1 + 3U2 + 3U3 → min,
U1 – U2 + U3 ≥ 1;
U1 + U2 – U3 ≥ 2;
U1, U2, U3 ≥ 0.
Решение находим по последней симплексной таблице – последние три симплексные разности Uопт = (1,5; 0,5; 0)
Wmin = 15.
Приложение 2
Образец оформления титульного листа практической работы
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ "ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ сервиса"
Кафедра "Информационный и электронный сервис"
Отчет по практической работе № 2 по дисциплине "Теория принятия решений"
"Одноиндексные задачи линейного программирования"
Студент ___________________________ Группа ______Факультет_____________ Преподаватель _____________________ Работа защищена ___________________
|
Тольятти, 2010 |
|
Приложение 3
