Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа 3 / 2008-04-14-02-24-Наталья-3

.doc
Скачиваний:
21
Добавлен:
01.05.2014
Размер:
137.73 Кб
Скачать

Цель работы:

  • Постановка задачи линейного программирования и её решение с помощью стандартной программы.

  • Исследование прямой и двойственной задачи.

Краткие общие сведения

Если исходная задача линейного программирования представлена в виде:

найти минимум функции на множестве

, (3.1)

то двойственная задача линейного программирования может быть сформулирована следующим образом:

найти максимум функции на множестве где - матрица, транспонированная к . Двойственная к двойственной задаче есть исходная задача.

Известно, что если существует решение исходной задачи, то существует решение и двойственной задачи, причем значения экстремумов совпадают. При этом координаты экстремальной точки для двойственной задачи являются коэффициентами чувствительности результата в исходной задаче по коэффициентам вектора .

Рассмотрим видоизмененную исходную задачу:

Найти на множестве , где ,

Если исходная задача имеет единственное решение , то при малых и видоизмененная задача имеет решение ; причем если -значение минимума , то существует

Оказывается, что есть i -я координата оптимальной точки для двойственной задачи.

Для проведения лабораторной работы составлена программа, обеспечивающая решение задачи линейного программирования при задании с терминала исходных значений параметров.

Задание:

Вариант 3.

На рынок доставляется картофель из трех колхозов по цене соответственно 12, 10 и 8 тыс. рублей за 1 тонну. На погрузку картофеля в колхозах соответственно затрачивается 1, 6 и 5 минут. Потребности рынка составляют не менее 12 т, на погрузку которого можно затратить не более 60 минут. Из каких колхозов и в каком количестве надо доставлять картофель, чтобы его стоимость была минимальной при условии того, что колхозы могут выделить для продажи соответственно 10, 8 и 6 тонн картофеля.

Порядок проведения лабораторной работы и решение задачи

  1. По заданной содержательной постановке задачи поставить задачу формально (т.е. привести к виду (3.1)).

Получим следующую математическую модель:

При этом исходная задача имеет следующие ограничения:

  1. Решить поставленную задачу с помощью готовой программы.

С помощью готовой программы мы получаем:

Целевая функция:

C

12 10 8 --> min

Ограничения:

A B

-1 -6 -5 >=-60

1 1 1 >=12

-1 0 0 >=-10

0 -1 0 >=-8

0 0 -1 >=-6

x1= 1.200

x2= 4.800

x3= 6.000

Значение целевой функции f = 110.400

  1. Поставить двойственную задачу с помощью готовой программы.

Двойственная задача к исходной задачи имеет вид:

При этом двойственная задача имеет следующие ограничения:

  1. Решить двойственную задачу с помощью той же программы.

С помощью готовой программы мы получаем:

Целевая функция:

C

-60 12 -10 -8 -6 --> max

Ограничения:

A B

-1 1 -1 0 0 <=12

-6 1 0 -1 0 <=10

-5 1 0 0 -1 <=8

x1= 0.400

x2=12.400

x3= 0.000

x4= 0.000

x5= 2.400

Значение целевой функции f = 110.400

  1. Определить коэффициенты чувствительности исходной задачи по координатам правой части ограничений (вектора ). Для этого :

а) увеличить i - ю координату вектора ограничений правой части на = 10 –3;

б) решить задачу с новым вектором , ответ -;

в) вычислить

г) сравнить полученное число с i -й координатой оптимальной точки двойственной задачи.

При уменьшении коэффициента b1 на 0.01 мы получаем:

x1= 1.198

x2= 4.802

x3= 6.000

Значение целевой функции f = 110.396

Откуда, коэффициент чувствительности:

При уменьшении коэффициента b2 на 0.001 мы получаем:

x1= 1.201

x2= 4.800

x3= 6.000

Значение целевой функции f = 110.412

Откуда, коэффициент чувствительности:

При увеличении коэффициента b3 на 2 мы получаем:

x1= 1.200

x2= 4.800

x3= 6.000

Значение целевой функции f = 110.400

То есть, коэффициент чувствительности равен нулю.

При увеличении коэффициента b4 на 1 мы получаем:

x1= 1.200

x2= 4.800

x3= 6.000

Значение целевой функции f = 110.400

То есть, коэффициент чувствительности равен нулю.

При увеличении коэффициента b5 на 0.001 мы получаем:

x1= 1.200

x2= 4.801

x3= 5.999

Значение целевой функции f = 110.402

Откуда, коэффициент чувствительности:

Запишем полученные результаты в виде вектора:

- решение двойственной задачи.

  1. Повторить процедуру , описанную в п.5, но варьировать на этот раз коэффициенты целевой функции – компоненты вектора и сопоставить результаты с координатами вектора-решения исходной задачи .

При уменьшении коэффициента C1 на 0.001 мы получаем:

x1= 1.200

x2= 4.800

x3= 6.000

Значение целевой функции f = 110.399

Откуда, коэффициент чувствительности:

При увеличении коэффициента C2 на 0.001 мы получаем:

x1= 1.200

x2= 4.800

x3= 6.000

Значение целевой функции f = 110.405

Откуда, коэффициент чувствительности:

При увеличении коэффициента C3 на 0.001 мы получаем:

x1= 1.200

x2= 4.800

x3= 6.000

Значение целевой функции f = 110.406

Откуда, коэффициент чувствительности:

Запишем полученные результаты в виде вектора:

- решение прямой задачи.

Вывод:

Выполняя данную лабораторную работу, мы исследовали прямую и двойственную задачи,

опытным путем доказали теорему двойственности, которая гласит, что, если прямая задача регулярна и x* - ее решение, а - множители Лагранжа, то - решение двойственной задачи вида и справедливо .

Убедились, что при не больших изменений векторного коэффициента чувствительности не приводит к изменениям коэффициентов в прямой и двойственной задачах.

Санкт-Петербургский Государственный

Электротехнический Университет

ФКТИ

Кафедра МОЭВМ

Дисциплина: «Методы оптимизации»

Отчет по лабораторной работе № 3

«Решение прямой и двойственной задач»

Выполнила:

Студентка: Китаева Н.А.

Группа 4342

Проверила: Мальцева Н.В.

Санкт-Петербург

2007 г.