Лабораторная работа #4
.doc
Санкт-Петербургский Государственный Электротехнический Университет «ЛЭТИ»
кафедра МО ЭВМ
Отчет
по лабораторной работе №4
Решение прямой и косвенной задач
линейного программирования
Выполнили: Сергеев М.В.
Воронин С.Ю.
Группа: 3352
Проверил: Балтрашевич В.Э.
Санкт-Петербург
2005г.
Лабораторная работа №4
РЕШЕНИЕ ПРЯМОЙ И ДВОЙСТВЕННОЙ ЗАДАЧ
Цели работы:
а. Постановка задачи линейного программирования и ее решение с помощью стандартной программы.
б. Исследование прямой и двойственной задачи.
Краткие общие сведения
Если исходная задача линейного программирования представлена в виде:
найти минимум функции ƒ = (c, x) на множестве
, (4.1),
то двойственная задача может быть сформулирована следующим образом:
найти максимум функции (B, λ) на множестве
где AT — матрица, транспонированная к А.
Двойственная к двойственной задаче есть исходная задача.
Известно, что если существует решение исходной задачи, то существует решение и двойственной задачи, причем значения экстремумов совпадают. При этом координаты экстремальной точки для двойственной задачи являются коэффициентами чувствительности результата в исходной задаче по коэффициентам вектора B.
Видоизмененная исходная задача.
Найти min(C, X) на множестве { х: Х ≥ О, Аx ≥ В + ε * еi }, где ε>0,
Если исходная задача имеет единственное решение, то при малых ε>0 и видоизмененная задача имеет решение; причем если - значение минимума, то существует . Оказывается, что β есть i-я координата оптимальной точки для двойственной задачи.
Для проведения лабораторной работы составлена программа, обеспечивающая решение задачи линейного программирования при задании с терминала исходных значений параметров.
Условие задачи
Для изготовления двух видов продукции P1, P2 используют три вида сырья: S1, S2, S3. Запасы сырья, количество единиц сырья, затрачиваемых на изготовление единицы продукции, а также величина прибыли, получаемая от реализации единица продукции, приведены в табл. 4.4.
Таблица 4.4
Виды сырья |
Запас сырья |
Количество единиц сырья, идущих на изготовление единицы продукции |
|
P1 |
P2 |
||
S1 |
20 |
2 |
5 |
S2 |
40 |
8 |
5 |
S3 |
30 |
5 |
6 |
Прибыль от единицы продукции первого вида составляет 50 р., второго вида - 40 р.
Необходимо составить такой план выпуска продукции, чтобы при ее реализации получить максимальную прибыль.
Формализация прямой задачи и ее решение
Целевая функция: (C,X), С=(20,40,30), Х=(х1,х2,х3).
Требуется ее минимизировать.
Ограничения: АХ>=B, 2х1+8х2+5х3>=50,
5x1+5x2+6x3>=40.
Т.е. , B=(50,40).
Оптимальная точка:
х1=0.000,
х2=4.348,
х3=3.043,
при этом f=265.217.
Формализация двойственной задачи и ее решение
Целевая функция: (B,), B=(50,40), .
Требуется ее максимизировать.
Ограничения: АT<=C, =20,
=40,
=30.
Т.е., C=(20,40,30).
Оптимальная точка:
1=3.913,
2=1.739,
при этом f=265.217.
Видоизмененная исходная задача
Найти min(C,X) на множестве {х: Х≥О, Аx≥В+ε*еi}, где ε>0,
.
.
В=(50,40.001).
Оптимальная точка:
х1=0.000,
х2=4.348,
х3=3.044,
при этом f=265.219.
Видоизмененная двойственная задача
.
С=(50,40.001).
Оптимальная точка:
1=3.913,
2=1.739,
при этом f=265.219.
Протокол работы программы
1.
Решение задачи линейного программирования
-------------------------------------------
Целевая функция:
20 40 30 --> min
Ограничения:
2 8 5 >=50
5 5 6 >=40
Решение:
-------
x1= 0.000
x2= 4.348
x3= 3.043
Значение целевой функции f = 265.217
2.
Решение задачи линейного программирования
-------------------------------------------
Целевая функция:
20 40 30 --> min
Ограничения:
2 8 5 >=50
5 5 6 >=40.001
Решение:
-------
x1= 0.000
x2= 4.348
x3= 3.044
Значение целевой функции f = 265.219
3.
Решение задачи линейного программирования
-------------------------------------------
Целевая функция:
50 40 --> max
Ограничения:
2 5 <=20
8 5 <=40
5 6 <=30
Решение:
-------
x1= 3.913
x2= 1.739
Значение целевой функции f = 265.217
4.
Решение задачи линейного программирования
-------------------------------------------
Целевая функция:
50 40.001 --> max
Ограничения:
2 5 <=20
8 5 <=40
5 6 <=30
Решение:
-------
x1= 3.913
x2= 1.739
Значение целевой функции f = 265.219
Выводы
Выполнена цель лабораторной работы, а именно:
а) осуществлена постановка задачи линейного программирования и ее решение с помощью стандартной программы,
б) произведено исследование прямой и двойственной задачи, а также их изменения в i-ой компоненте векторов B и С соответственно,
в) подтверждены теоретические выкладки.