ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 20.12.2024

Просмотров: 524

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Все исходные данные для определения компонент текущей симплекс-таблицы определены и выведены на расчетный лист. Разметка симплекс-таблицы и необходимые формулы выведены программой на лист Симплекс-метод. Рассмотрим процедуру программирования симплекс-таблицы для рассматриваемого примера.

Для переменных текущего базиса в симплекс-таблице зарезервирована область А31-А33. Для рассматриваемого примера начальный базис сформирован переменными х6, х7, х8 и их обозначения вносятся в эту область.

В область расчетного листа B29-I30 заносятся значения оценок плана в соответствии с формулой:

.

Для этого из ячеек области А21-Н22 вычитаются соответствующие значения из области А4-Н5. Для организации этой операции следует выполнить следующие действия:

1) выделить ячейку В29;

2) активировать курсор в строке формул, в которую ввести следующую строку: “=А21-А4”, нажать клавишу Enter;

3) выделить ячейку В29, “зацепить” манипулятором “мышь” правый нижний угол выделенной ячейки и “растянуть” выделенную область на диапазон ячеек В29-I30.

Определение матрицы S левой части симплекс-таблицы производится с помощью соотношения двойственности:

.

Для вычисления компонент матрицы S используется функция МУМНОЖ. В качестве параметра массив1 используется область расчетного листа Е11-G13, в качестве параметра массив2 - область А7-Н9, а результат выводится в область B31-I33.

Для вычисления значения базисных переменных используется соотношение двойственности:

.

Для вычисления компонент вектора используется функция МУМНОЖ. В качестве параметра массив1 используется область расчетного листа Е11-G13, в качестве параметра массив2 - область J7-J9, а результат выводится в область K31-K33.

Значение целевой функции, представляющее в общем случае вектор размером , вычисляется по соотношению двойственности: .


Для вычисления компонент целевой функции z используется функция табличного процессора Excel МУМНОЖ. В качестве параметра массив1 используется область расчетного листа А15-С16, в качестве параметра массив2 - область K31-K33, а результат выводится в область K29-K30.

Таким образом, определены все компоненты текущей симплекс-таблицы, связанные с выбранным набором базисных переменных, а значит и с однозначно определенными матрицей базиса В и вектором (а фактически, матрицей) коэффициентов целевой функции при базисных переменных. В дальнейших преобразованиях должны согласовано изменяться набор базисных переменных в столбце А31-А33, матрица базиса в области А11-С13 и коэффициенты базисных переменных в области А15-С16.

В соответствии с алгоритмом решения ЗЛП для задачи максимизации выберем максимальную отрицательную оценку плану. Сначала необходимо сравнить между собой компоненты вектора , являющиеся числовыми коэффициентами перед символом штрафа М и записанные в строке с заголовком “km”. Если все эти компоненты неотрицательны (в задаче максимизации), то необходимо производить сравнение для компонент вектора , записанных в строке с заголовком “k” (соответствующих только нулевым компонентам в строке “km”). В рассматриваемом примере максимальная неотрицательная компонента в строке с заголовком “km” соответствует переменной x2. Значит столбец с заголовком “х2” выбирается в качестве ведущего столбца и переменная x2 на следующей итерации включается в число базисных переменных. Этот факт отметим, указывая номер 2 в ячейке Е34 расчетного листа.

Для определения исключаемой из базиса переменной вычислим симплекс-множители данной таблицы. Для этого разделим значения текущих базисных переменных (т.е. элементы области К31-К33) на соответствующие элементы выбранного ведущего столбца (расположенные в области С31-С33). Результат деления запишем в область М31-М33. Выполняемые при этом действия аналогичны операциям, выполняемым при вычислении оценок плана .

В соответствии с теорией симплекс-метода, среди неотрицательных значений симплекс-множителей выбирается минимальное и определяется соответствующая ему базисная переменная. В рассматриваемом примере это переменная х7, которая принимается в качестве исключаемой из базиса переменной. В ячейку Е35 вводим номер 7 исключаемой из базиса переменной.


Вид листа Симплекс-метод после выполнения описанных действий представлен на рис. 2. В таком виде результаты каждой итерации должны фиксироваться в отчете по лабораторной работе.

Таким образом, на следующей итерации переменная х2 вводится в базис вместо переменной х7. Для выполнения следующей итерации необходимо сделать следующие действия (в рассматриваемом примере):

1) очистить ячейки Е34 и Е35 от номеров включаемой и исключаемой из базиса переменных;

2) в списке базисных переменных в ячейке А32 изменить базисную переменную: вместо "х7" записать "х2";

3) область М31-М33 очистить от значений симплекс-множителей;

4) так как изменилась вторая компонента в списке базисных переменных (вместо х7 в базис вошла в качестве второй компоненты х2) в матрице базиса В необходимо заменить второй столбец В11-В13: вместо вектора включается вектор матрицы А. Аналогично, в векторе коэффициентов целевой функции при базисных переменных вторая компонента (В15-В16) изменяется: вместо 7-го столбца таблицы "Вектор с" вносится 2-ой столбец этой таблицы.

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

A

B

C

D

E

F

G

H

I

J

K

L

M

1

Решение ЗЛП симплекс-методом

2

х1

х2

х3

х4

х5

х6

х7

х8

3

Вектор с

4

-1

2

1

0

0

0

0

0

5

0

0

0

0

0

-1

-1

0

6

Матрица А

Вектор b

7

2

3

-5

-1

0

1

0

0

3

8

-1

9

-1

0

-1

0

1

0

5

9

4

6

3

0

0

0

0

1

15

10

Матрица базиса В

Обратная матрица В-1

11

1

0

0

1

0

0

12

0

1

0

0

1

0

13

0

0

1

0

0

1

14

Коэффициенты базисных переменных cb

15

0

0

0

16

-1

-1

0

17

Двойственные переменные Y=cb*B-1

18

0

0

0

19

-1

-1

0

20

Вспомогательный массив F=Y*A

21

0

0

0

0

0

0

0

0

22

-1

-12

6

1

1

-1

-1

0

23

Симплекс-таблица

24

Оценки плана k=F-c

25

Матрица системы ограничений S=B-1*A

26

Значения базисных переменных xb=B-1*b

27

Значение целевой функции z=cb*xb

28

x1

x2

x3

x4

x5

x6

x7

x8

Решение

Симплекс

29

k

1

-2

-1

0

0

0

0

0

0

***

30

km

-1

-12

6

1

1

0

0

0

-8

***

31

х6

2

3

-5

-1

0

1

0

0

3

1

32

х7

-1

9

-1

0

-1

0

1

0

5

0.556

33

х8

4

6

3

0

0

0

0

1

15

2.5

34

Включаемая переменная

2

35

Исключаемая переменная

7


Рис. 2. Вид листа Симплекс-метод после 1-ой итерации.


5. Задание для лабораторной работы

1. Варианты заданий к лабораторным работам соответствуют вариантам контрольной работы “Линейное программирование” и приведены в /3/. В данной лабораторной работе следует с помощью программы “Решение и моделирование задач линейного программирования” получить решение заданий пункта 1а контрольной работы “Линейное программирование”. Таким образом, в лабораторной работе, используя программу, необходимо решить следующие задачи:

а) Решить исходную ЗЛП.

б) Решить ЗЛП с измененной целевой функцией.

в) Решить ЗЛП с измененной правой частью системы ограничений.

г) Решить ЗЛП при введении дополнительного ограничения.

д) Решить ЗЛП при введении новой переменной.

е) Для данной ЗЛП сформулировать двойственную задачу. Решить ее симплекс-методом. С помощью соотношений двойственности проверить ответ.

  1. Решить исходную ЗЛП с использованием встроенных функций табличного процессора Excel.

3. Отчет лабораторной работы должен содержать:

а) Исходные данные и оптимальную симплекс-таблицу для заданий 1а-1е данного пункта, для задания 1е необходимо представить модель двойственной задачи, ее приведение к стандартной форме, исходные данные для решения на ЭВМ, оптимальную симплекс-таблицу и результаты проверки ее решения с помощью соотношений двойственности.

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

Отчет по лабораторной работе может быть выполнен на ПЭВМ и представлен в распечатанном виде. Типовой отчет приведен в приложении.

  1. Литература

1.

Трушков А. С. Решение и моделирование задач линейного программирования. Отчёт и программная документация. - КФ МГОУ, г. Коломна, 1998 г., 76 с.

2.

Трушков А. С. Симплексный метод решения задач линейного программирования. Алгоритмы и приложения.// Учебное пособие. Изд-во КФ МГОУ, г. Коломна, 1996 г., 107 с.

3.

Трушков А.С. Контрольная работа “Линейное программирование”.// Сборник вариантов контрольной работы. Изд-во КФ МГОУ, г. Коломна, 1996 г., 66 с.