Автор: Пользователь скрыл имя, 19 Ноября 2012 в 19:23, курсовая работа
Целью курсового проекта является изучить литературу по выбранной теме и научиться применять на практике симплекс – метод для решения прямой и двойственной задачи линейного программирования, а также решить двойственную задачу линейного программирования с помощью программы MS Excel.
Курсовой проект состоит из введения, двух глав и заключения.
В первой главе рассматриваются основные понятия и предложения теории двойственности ЗЛП, виды математических моделей двойственных задач и их экономическая интерпретация.
Во второй главе рассматривается решение двойственной задачи с помощью программы MS Excel.
Таким образом, отыскание решения задачи (54) – (56) двойственным симплекс-методом включает следующие этапы:
1. Находят псевдоплан задачи.
2. Проверяют этот псевдоплан
на оптимальность. Если
3. Выбирают разрешающую строку с помощью определения наибольшего по абсолютной величине отрицательного числа столбца вектора Р0 и разрешающий столбец с помощью нахождения наименьшего по абсолютной величине отношения элементов (m+1)–и строки к соответствующим отрицательным элементам разрешающей строки.
4. Находят новый псевдоплан и повторяют все действия начиная с этапа 2.
Таблица 1
Пример:
Найти максимальное значение функции при условиях
Решение: Запишем исходную задачу линейного программирования в форме основной задачи: найти максимум функции при условиях
Умножим второе и третье уравнения системы ограничений последней задачи на –1 и перейдем к следующей задаче: найти максимум функции
(57)
при условиях
(58)
(59)
Составим для последней задачи двойственную задачу. Такой является задача, в результате решения которой требуется найти минимальное значение функции
(60)
при условиях
(61)
(62)
Выбрав в качестве базиса векторы и , составим симплексную таблицу (табл. 16) для исходной задачи (57) – (59).
Таблица 2
i |
Базис |
Сб |
Р0 |
1 |
1 |
2 |
0 |
0 |
P1 |
P2 |
P3 |
p4 |
p5 | ||||
1 2 3 4 |
p3 P4 p5 |
2 0 0 |
8 –4 –6 16 |
1 –1 –1 1 |
1 1 –2 1 |
1 0 0 0 |
0 1 0 0 |
0 0 1 0 |
Из этой таблицы видим, что планом двойственной задачи (57) – (59) является . При этом плане Так как в столбце вектора Р0 таблица 16 имеются два отрицательных числа (–4 и –6), а в 4–й строке отрицательных чисел нет, то в соответствии с алгоритмом двойственного симплекс–метода переходим к новой симплекс–таблице. (В данном случае это можно сделать, так как в строках векторов Р4 и Р5 имеются отрицательные числа. Если бы они отсутствовали, то задача была бы неразрешима. Вектор, исключаемый из базиса, определяется наибольшим по абсолютной величине отрицательным числом, стоящим в столбце вектора Р0. В данном случае это число –6. Следовательно, из базиса исключаем вектор Р5. Чтобы определить, какой вектор необходимо ввести в базис, находим где Имеем
Значит, в базис вводим вектор P2. Переходим к новой симплекс–таблице (табл. 3).
Таблица 3
i |
Базис |
Сб |
Р0 |
1 |
1 |
2 |
0 |
0 |
P1 |
P2 |
P3 |
p4 |
p5 | ||||
1 2 3 4 |
p3 P4 p2 |
2 0 1 |
5 –7 3 13 |
1/2 –3/2 1/2 1/2 |
0 0 1 0 |
1 0 0 0 |
0 1 0 0 |
1/2 1/2 –1/2 1/2 |
Из этой таблицы видно, что получен новый план двойственной задачи При этом плане значение ее линейной формы равно Таким образом, с помощью алгоритма двойственного симплекс–метода произведен упорядоченный переход от одного плана двойственной задачи к другому.
Так как в столбце вектора Р0 таблицы 17 стоит отрицательное число –7, то рассмотрим элементы 2–й строки. Среди этих чисел есть одно отрицательное –3/2. Если бы такое число отсутствовало, то исходная задача была бы неразрешима. В данном случае переходим к новой симплекс-таблице (табл. 4).
Таблица 4
i |
Базис |
Сб |
Р0 |
1 |
1 |
2 |
0 |
0 |
P1 |
P2 |
P3 |
p4 |
p5 | ||||
1 2 3 4 |
p3 P1 p2 |
2 1 1 |
8/3 14/3 2/3 32/3 |
0 1 0 0 |
0 0 1 0 |
1 0 0 0 |
1/3 –2/3 1/3 1/3 |
2/3 –1/3 –1/3 2/3 |
Как видно из таблицы 4, найдены оптимальные планы исходной и двойственной задач. Ими являются и . При этих планах значения линейных форм исходной и двойственной задач равны между собой:
2. Решение двойственных
задач линейного программирован
2.1 Постановка задачи
Необходимо спланировать работу швейной мастерской на некоторый период. Установлен перечень выпускаемой продукции, известна рыночная цена каждого продукта. Для производства продукции используются ресурсы: материал, нитки, пуговицы, труд закройщиков, швей-мотористок и т.д. Установлен полный перечень этих ресурсов и общее количество каждого ресурса, которое может быть израсходовано в плановом периоде. Известен расход каждого ресурса на единицу каждого продукта. Необходимо определить, сколько каждой продукции нужно производить, чтобы суммарная рыночная цена всей продукции (выпуск, выручка) была наибольшей.
Введем следующие обозначения:
i=1,…, m - номера (индексы) используемых ресурсов;
- запас i-го ресурса, т.е. допустимый расход i-го ресурса в плановом периоде; другое название - ограничение по ресурсу i;
j=1,…, n - номера (индексы) продуктов;
- рыночная цена j-го продукта;
- расход i-го ресурса на производство единицы j-го продукта;
- плановый объем производства j-го продукта, величина неизвестная, ее нужно найти в процессе решения задачи. Исходные данные задачи запишем в виде матрицы.
Рис. 2
Каждая строка матрицы соответствует одному ресурсу, каждый столбец – одному продукту. Справа от каждой строки записана величина ограничения по ресурсу (b1,…, bi,…, bm); внизу каждого столбца - цена продуктов (с1,…, сj,…, сm).
В каждой клеточке матрицы записаны так называемые технологические коэффициенты aij, показывающие расход i-го ресурса на производство единицы j-го продукта.
Запишем конкретный числовой пример
Рис. 3
2.2 Построение математической модели и её реализация
Теперь приступим к созданию математической модели, т.е. к математической записи задачи.
Целевая функция:
Ограничения:
x1 ³ 0;
x2 ³ 0;
x3 ³ 0.
Решим поставленную выше задачу с применением EXCEL.
Содержание ячеек:
B1:D1 – имена продуктов (технологических способов);
A2:A4 – имена ресурсов;
B2:D4 – технологические коэффициенты (расход ресурсов при единичных интенсивностях технологических способов);
B6:D6 – цены продуктов;
B8:D8 – переменные;
F2:F4 – запас ресурсов;
G2:G4 – плановые расходы ресурсов, получаются в результате решения;
G6 – значение целевой функции, получается в результате решения.
Формулы для вычислений:
G2=СУММПРОИЗВ (B$8:D$8; B2:D2);
G3:G4 – копируются из G2;
G6=СУММПРОИЗВ (B8:D8; B6:D6).
Запишем формулы в ячейки G2:G4. Установить курсор на G2. На панели инструментов выбрать значок формул (f). Появятся два окна. В окне «категория» выбрать «математические», затем в окне «функция» выбрать «СУММПРОИЗВ». Появится окно «СУММПРОИЗВ». В нем нужно указать, где располагаются операнды. Первый операнд – строка B$8:D$8, второй операнд – стока B2:D2. В ячейки G3:G4 формулу скопировать из G2. Аналогичным образом записать формулу целевой функции в ячейку G6. Теперь нужно указать остальные условия решения задачи. Установить курсор на ячейку целевой функции G6. В главном меню выбрать «сервис», а потом «поиск решения». Появится окно, в котором нужно указать:
Целевая ячейка – G6;
Включить кнопку «максимальное значение»;
Указать изменяемые ячейки (расположение переменных) – B8:D8;
Записать ограничения. Их можно записать прямо в этом же окне, но лучше выбрать «добавить» и в появившемся окне «добавить» последовательно записать ограничения:
B8:D8 0 – неотрицательности переменных;
G2:G4 F2:F4 – плановый расход ресурсов меньше их запаса.
Теперь электронная модель сформирована и можно решать задачу. Для этого нужно вернуться в окно «поиск решения» и нажать «выполнить». Если электронная модель сформирована правильно, то будет получено сообщение, что задача решена. Результат решения находится на листе EXCEL и в трех отчетах: Результаты, Устойчивость, Пределы.
Рис. 4.1.4
Основные результаты видны в таблице (рис. 4.1.4.). По сравнению с условиями задачи, показанными на рис. 4.1.3., появились данные:
1. Значение целевой функции в ячейке G6 = 15880;
2. Значения переменных в ячейках B8:D8: х1 = 86, х2 = 0, х3 = 268; это значит, что 1-й продукт должен производиться в объеме 86 единиц, 2-й – 0, а 3-й – 286.
3. Плановый расход ресурсов в ячейках G2:G4: расход 1-го ресурса = 271,6, расход 2-го ресурса = 310, расход 3-го ресурса = 2200.
Как видно 1-й ресурс недоиспользован, а 2-й и 3-й израсходованы полностью.
Кроме результатов в электронной таблице EXCEL готовит три отчета: Результаты, Устойчивость, Пределы. Отчет по результатам изображен на рис 4.1.5, где изображены три таблицы.
Отчет по результатам
Целевая ячейка (максимум)
Ячейка Имя Исходно Результат
$G$6 Цены ЦФ 15880
Изменяемые Ячейки
Ячейка Имя Исходно Результат |
$B$8 Перем Пр1 0 86 |
$C$8 Перем Пр2 0 0 |
$D$8 Перем Пр3 0 268 |
Ограничения
Ячейка Имя Значение Формула Статус Разница |
$G$2 Рес 1 Расход 271,6 $G$2 $F$2 не связан 228,4 |
$G$3 Рес 2 Расход 310 $G$3 $F$3 связанное 0 |
$G$4 Рес 3 Расход 2200 $G$4 $F$4 связанное 0 |
$B$8 Перем Пр1 86 $B$8 0 не связан 86 |
$C$8 Перем Пр2 0 $C$8 0 связанное 0 |
$D$8 Перем Пр3 268 $D$8 0 не связан 268 |
Рис. 4.1.5
1-я таблица – целевая
ячейка – дает значение
2-я таблица – изменяемые
ячейки – дает значение
3-я таблица – ограничения – дает оценку ограничений. Колонка «значение» дает значения планового расхода ресурсов и переменных – эти данные имеются в таблице EXCEL и здесь избыточны. Столбец «статус» значением «связанное» отмечает ограничения (не больше или не меньше), которые в результате решения превратились в строгие равенства, прочие ограничения имеют статус «несвязанные». Столбец «разница» показывает, на какую величину ограничения отклонились от строгого равенства. Так, например, ограничение 1-го ресурса 500, плановое значение 271,6, разница = 500 – 271,6 = 228,4.
Отчет по устойчивости изображен на рис. 4.1.6. Он состоит из двух таблиц.
Отчет по устойчивости
Изменяемые ячейки
Ячейка Имя Результат Норир. Значение градиент |
$B$8 Перем Пр1 86 0 |
$C$8 Перем Пр2 0 -22,8 |
$D$8 Перем Пр3 268 0 |
Ограничения
Ячейка Имя Результат. Лагранжа значение Множитель |
$G$2 Рес 1 Расход 271,6 0 |
$G$3 Рес 2 Расход 310 20 |
$G$4 Рес 3 Расход 2200 4,4 |
Рис. 4.1.6
Таблица «изменяемые
ячейки» показывает значения переменных,
которые уже имеются в таблице
Отчет по пределам
Ячейка Целевое Значение имя |
$G$6 Цены ЦФ 15880 |
Ячейка Изменяемое Значение имя |
Нижний Целевой предел результат |
Нижний Целевой предел результат |
$B$8 Перем Пр1 86 |
0 10720 |
86 15880 |
$C$8 Перем Пр2 0 |
0 15880 |
0 15880 |
$D$8 Перем Пр3 268 |
0 5160 |
268 15880 |
Рис. 4.1.7.
В этом отчете уже в третий раз дается значение целевой функции 15880, в пятый раз значение переменных (х1 = 86, х2 = 0, х3 = 268). Нижний предел для всех переменных = 0, так, установлены ограничения по переменным. Верхний предел равен соответственно 86, 0 и 268, так устанавливают ограничения по ресурсам. Целевой результат показывает значение целевой функции при соответствующих значениях переменных. Если х1 = 0, то ЦФ = 10720 и т.д.
Запишем математическую модель рассмотренной задачи в общем виде:
Пусть:
В-бюджет, т.е. количество денег, которое можно израсходовать на приобретение ресурсов для производства продукции, а si – рыночная цена i-го ресурса. Тогда единственное ограничение по ресурсам будет выглядеть следующим образом:
Информация о работе Двойственность в линейном программировании