Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МОТС / лр по мотс 3.doc
Скачиваний:
36
Добавлен:
22.03.2015
Размер:
163.33 Кб
Скачать

Тема: Решение задач линейного программирования симплекс-методом

  1. Цель работы

  1. Закрепить знания построения математической модели задачи ЛП

  2. Научиться строить первый опорный план задачи ЛП

  3. Научиться находить оптимальное решение задачи ЛП симплекс-методом

2. Теоретические сведения

Симплексный метод решения задач линейного программирования основан на последовательном переходе от одного опорного плана (решения) ЗЛП к другому, при этом значения целевой функции изменяются.

2.1 Алгоритм симплекс-метода

Алгоритм симплексного метода состоит из итераций, позволяющих находить оптимальное решение задачи линейного программирования (ЛП), рассматривая ограниченное количество допустимых базисных решений:

  1. Составление первого опорного плана.

а) Составляем симплексную таблицу начального опорного решения методом симплексного метода при стремлении целевой функции к максимуму.

Коэффициенты целевой функции

c1

c2

...

cn

0

0

0

0

План

Базисные переменные

Значения

базисных переменных

х1

х2

...

xn

xn+1

xn+2

...

xn+m

zi

1

xn+1

b1

а11

a12

а1n

1

0

0

xn+2

b2

а21

a22

а2n

0

1

0

……

…..

0

0

0

xn+m

bm

аm1

am2

...

аmn

0

0

...

1

Индексная строка

F(X)

0

- c1

- c2

...

- cn

0

0

0

0

б) При стремлении целевой функции к минимуму опорное решение находится методом М- базиса.

Коэффициенты целевой функции

C *1

C *2

...

C*n

0

0

0

0

План

Базисные переменные

Значения

базисных переменных

х1

х2

...

xn

y1

y2

….

ym

zi

1

y1

y2

……

ym

b1

b2

…..

bm

а11

а21

аm1

a12

a22

am2

а1n

а2n

аmn

1

0

0

0

1

0

0

0

1

Индексная строка

F(X)

M(b1+…+bm)

-C *1

-C *2

...

-C* n

0

0

0

0

Для нахождения значений C *i надо переменные уi выразить через основные переменные (в уравнениях ограничителях) и подставить в целевую функцию.

Проверка плана (решения) на оптимальность. Если все коэффициенты последней строки симплексной таблицы (F(X)) при решении на максимум неотрицательны, то план (решение) оптимален. Если хотя бы одно значение индексной строки меньше нуля, то план не оптимален, и его можно улучшить. (При решении ЗЛП на минимум целевой функции признаком оптимального плана являются отрицательные значения коэффициентов индексной строки) симплексной таблицы. Переходим к следующему этапу.

  1. Определение ведущих столбцов и строк.

Из отрицательных значений последней строки выбираем наибольший по модулю, что и определяет ведущий столбец, который показывает, какая переменная на следующем приближении перейдет из свободных в базисные. Затем столбец свободных членов симплексной таблицы делим на элементы того же знака ведущего столбца. Делятся только элементы одинаковых знаков. Результаты заносим в отдельный столбец zi. Строка, соответствующая минимальной zi является ведущей. Она определяет переменную, которая в следующем плане выйдет из базиса и станет свободной. Элемент, находящийся на пересечении ведущей строки и ведущего столбца, называют разрешающим и выделяют.

  1. Построение нового опорного плана.

Разделим элементы ведущей строки предыдущей таблицы на разрешающий элемент и результаты деления занесем в строку следующей симплексной таблицы. Запишем полученные значения , соответствующие введенной в базис переменной (на месте разрешающего элемента появится 1), а в остальные клетки ведущего столбца, включая и строку F(X) , записываем нули.

Остальные новые элементы нового плана находятся по правилу прямоугольника:

НЭ = СЭ- (А*В)/РЭ,

где НЭ - новый элемент,

СЭ- старый элемент,

РЭ- разрешающий элемент,

А и В –элементы старого плана образующие прямоугольник с элементами СЭ и РЭ

Далее возвращаемся ко второму этапу - проверке на оптимальность.

Пример (см. методы нахождения опорного решения)

Коммерческое предприятие реализует три группы товаров (А,В,С). Плановые нормативы затрат ресурсов на 1 товарный рубль товарооборота, доход от продажи товаров на 1 товарный рубль товарооборота, а так же объем ресурсов заданы. Определить плановый объем продаж и структуру товарооборота так, чтобы доход торгового предприятия был максимальным.

Виды ресурсов

Нормы затрат на 1товарный рубль товарооборота

объем ресурсов

А

В

С

Рабочее время продавцов

0,1

0,2

0,4

1100

Площадь торговых залов

0,05

0,02

0,02

120

Площадь складских помещений

3

1

2

8000

Доход

3

5

4

максимальный

Запишем математическую модель :

х1, х23 - количество продаваемых товаров;

Доход ( целевая функция ) определяется:

F(X)= max(3 х1+5 х2+4 х3)

При условии:

х1≥0; х2≥0; х3≥0;

и ограничениях

0,1х1 + 0,2х2 + 0,4х3 + х4 ≤ 1100

0,05х1 + 0,02х2 + 0,02х3 + х5 ≤ 120

1 + х2 + 2х3 + х6 ≤ 8000

Для построения первого опорного плана приведем запись ОЗЛП в канонической форме

F(X)= max(3 х1+5 х2+4 х3)

При условии

х1≥0; х2≥0; х3≥0;

и ограничениях

0,1х1 + 0,2х2 + 0,4х3 + х4 = 1100

0,05х1 + 0,02х2 + 0,02х3 + х5 = 120

1 + х2 + 2х3 + х6 = 8000

Запишем математическую модель в векторном виде

F(X)=max(C*X), где С=(3 5 4 0 0 0 ) – вектор-строка из коэффициентов целевой функции

х1

х2

Х = х3 – вектор-столбец переменных

х4

х5

х6

при условии: вектор Х ≥0

и ограничениях: А*Х=Р0,

где матрица

0,1 0,2 0,4 1 0 0 1100

А= 0,05 0,02 0,02 0 1 0 , Р0= 120

3 1 2 0 0 1 8000

Находим первый опорный план

Базисные переменные: х3; х4; х5.

Свободные переменные: х1=0; х2=0; х3=0;

В этом случае значения базисных переменных равны значениям свободных членов. Построим таблицу начального опорного решения:

Коэффициенты целевой функции

3

5

4

0

0

0

План

Базисные переменные

Значения

базисных переменных

х1

х2

х3

х4

х5

х6

zi

1

х4

1100

0,1

0,2

0,4

1

0

0

5500

x5

120

0,05

0,02

0,02

0

1

0

6000

x6

8000

3

1

2

0

0

1

8000

Индексная строка

F(X)

0

- 3

- 5

-4

0

0

0

Первый опорный план не оптимален, т.к. в индексной строке находятся отрицательные коэффициенты. Значит будем строить новый план.

За ведущий столбец выбираем столбец с максимальным по модулю отрицательным элементом индексной строки (-5). Переменная х2 переходит из свободных в базисные.

Для определения ведущей строки находим значения z. Значения базисных переменных делим на значения элементов ведущего столбца, учитывая знак.

Минимальное значение z определяет ведущую строку. Базисная переменная х4 переходит в свободные. Разрешающий элемент равен 0,2.

Формируем второй план таблицы.

Новые значения ведущей строки равны значению старого элемента деленного на разрешающий элемент.

Новые значения ведущего столбца равны нулю (включая и индексную строку), кроме элемента находящегося на пересечении ведущего столбца и ведущей строки. (Он равен 1).

Остальные элементы находятся по правилу прямоугольника

НЭ=СЭ-А*В/РЭ

Например для элемента на пересечении х5 и х1 НЭ=0,05-0,1*0,02/0,2=0,04 и т.д.

План

Базисные переменные

Значения

базисных переменных

х1

х2

х3

х4

х5

х6

zi

2

х2

5500

0,5

1

2

5

0

0

11000

х5

10

0,04

0

-0,02

-0,1

1

0

250

x6

2500

2,5

0

0

-5

0

1

1000

Индексная строка

F(X)

27500

- 0,5

0

6

0

0

0

Этот план не оптимален. По вышеописанному алгоритму строим следующий план решения

План

Базисные переменные

Значения

базисных переменных

х1

х2

х3

х4

х5

х6

zi

2

х2

5375

0

1

2,25

5

6,25

0

х1

250

1

0

-0,5

-0,1

-2,5

0

x6

1875

0

0

1,25

-5

1,25

1

Индексная строка

F(X)

27625

0

0

5,75

23,75

12,5

0

При третьей итерации (приближении) получаем оптимальный план.

Следовательно фирма должна продавать 250 единиц товара А , 5375 единиц товара В , товар С не реализуется. Доход получат при этом максимальный – 27625. Оказывается недоиспользована площадь складских помещений на

1875 м2.

Индексная строка свободных переменных 3-го плана (х345) имеет ненулевые элементы. Это говорит о том , что данный план линейной задачи является единственным.