Материал: Разработка математической модели по формированию производственной программы

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

1.5 Принцип работы симплекс-метода

Симплекс-метод позволяет решать задачи линейного программирования любой размерности, т.е. с любым количеством переменных. Решение задач линейного программирования на основе симплекс-метода состоит в целенаправленном переборе угловых точек области допустимых решений (далее ОДР) в направлении улучшения значения целевой функции.

Можно доказать, что экстремум (минимум или максимум) целевой функции всегда достигается при значениях переменных X1,2,...,Xn, соответствующих одной из угловых точек ОДР. Другими словами, оптимальное решение всегда находится в угловой точке ОДР.

Принцип работы симплекс-метода состоит в следующем. Находится какое-либо допустимое решение, соответствующее одной из угловых точек ОДР.

Проверяются смежные с ней угловые точки ОДР. Под смежной здесь понимается угловая точка, расположенная на той же границе ОДР, что и текущая угловая точка (для двухмерной ОДР - на той же стороне многоугольника, для трехмерной - на том же ребре многогранника, и т.д.). Если ни в одной из смежных угловых точек значение целевой функции не улучшается, то решение задачи завершается; текущая угловая точка ОДР соответствует оптимальному решению задачи. Если имеются смежные угловые точки ОДР, для которых значение целевой функции улучшается, то выполняется переход в ту из них, для которой достигается наиболее быстрое улучшение значения целевой функции.

Для новой угловой точки ОДР процесс повторяется, т.е. проверяются смежные угловые точки. Перебор угловых точек происходит до тех пор, пока не будет найдено оптимальное решение, т.е. пока не будет достигнута угловая точка ОДР, для которой ни в одной из смежных точек значение целевой функции не улучшается.

Поиск решения на основе симплекс-метода реализуется с помощью симплекс-таблиц. Основные этапы реализации симплекс-метода следующие.

. Задача линейного программирования приводится к стандартной форме.

. Определяется начальное допустимое решение (начальная угловая точка ОДР).

. Строится исходная симплекс-таблица. Выполняются преобразования симплекс-таблиц, соответствующие перебору угловых точек ОДР, до получения оптимального решения.

Реализация симплекс-метода существенно различается в зависимости от вида математической модели задачи. В данном разделе рассматривается реализация симплекс-метода для случая, когда математическая модель задачи состоит только из ограничений "меньше или равно", и целевая функция подлежит максимизации (как в примере 2.1). Реализация симплекс-метода для задач с математической моделью любого вида рассматривается в разделе 3.

1.6 Симплекс метод в общем виде

Требуется найти максимум целевой функции:

(1)

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

(2)

И условиях неотрицательности:

i ≥ 0, i=1, 2, ..., n (3)

Из системы (2) видно, что если за свободные неизвестные принять х1, х2 и положить их равными нулю, то базисные неизвестные х3, х4, х5 будут равны правым частям системы. в результате получаем план:

х1=0, х2=0, х3=b1, x4=b2, x5=b3 (4)

Для которого целевая функция равна

(5)

Выразим из (2) базисные неизвестные х3, х4, х5 через свободные х1, х2:

(6)

Подставим (6) в целевую функцию (1) и после приведения подобных членов будем иметь:

= (c1-c3a11-c4a21-c5a31)x1 + (c2-c3a12-c4a22-c5a32)x2 + c3b1 + c4b2 + c5b3. (7)

Если коэффициенты перед х1, х2 в (7) окажутся отрицательными, то целевую функцию нельзя увеличить, переводя эти свободные неизвестные в базисные, то есть давая им какие-то положительное значения. Отрицательность коэффициентов перед неизвестными в (7) есть признак того, что найдено оптимальное решение. Коэффициенты перед свободными неизвестными в выражении для целевой функции принято называть оценками. Введем обозначения:

= c3a11 + c4a21 + c5a31, Z2 = c3a12 + c4a22 + c5a32. (8)

В этих обозначениях условия максимальности запишутся:

- Z1 < 0, c2 - Z2 < 0, (9)

Пусть условии оптимальности (9) не выполнены, а именно пусть, для определенности, коэффициент перед х1 в (7) положителен, тогда, увеличивая х1, мы увеличим целевую функцию по сравнению с ее значением (5). Посмотрим, насколько может быть увеличена переменная х1по сравнению с нулем, при условии, что х2 остается свободной, то есть будет иметь неизменное значение х2=0. Из (6) видно, что увеличение х1 будет вести к уменьшению х3, х4, х5, если коэффициенты перед х1 в (6) отрицательны. Увеличивать х1 можно лишь до значения, при котором первая из неизвестных х3, х4, х5 обратится в нуль. Положив нулю левые части (6), получим три уравнения:

= b1 - a11x1, 0 = b2 - a21x1, 0 = b3 - a31x1.

Если положить:

(10)

то только одна неизвестная из х3, х4, х5 обратится в нуль, то есть станет свободной, а остальные останутся положительными. Предположим, что это будет х3, тогда будем иметь в качестве свободных неизвестных х2, х3 и в качестве базисных х1, х4, х5.

Для удобства дальнейших вычислений желательно преобразовать систему ограничений к виду (2), который характерен тем, что столбцы коэффициентов при базисных неизвестных образуют единичную матрицу. Так как старая базисная переменная х3 заменяется новой базисной переменной х1, то в первом уравнении коэффициент перед х1 должен быть равен 1. Это достигается делением первого уравнения на a11. Далее следует исключить неизвестную х1 из второго и третьего уравнений. Для этого преобразованное первое уравнение умножим сначала на а21 и вычтем из второго, затем на а31 и вычтем из третьего. В результате этих преобразований система (2) примет вид:

(11)

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

Описание выше действия по работе с системой ограничений (2) следует повторить для системы (11) и т.д., до тех пор, пока не будет выполнены условия оптимальности.

Для удобства и компактности вычислений по симлекс-методу применяются симплексные таблицы.

ГЛАВА 2. Описание объекта и логическая формулировка проблемы

Хлебобулочный завод производит 20 различных видов хлебобулочных изделий. Стоимость и возможные запасы основных ингредиентов представлены в таблице 1.

Таблица 1 - Исходные данные

Наименование

Цена за кг., руб.

Запасы (день), кг.

Мука высшего сорта

20

280

Мука 1-го сорта

15

200

Мука ржаная

14

80

Дрожжи

150

9

Соль

10

8

Сахар

50

25

Маргарин

60

10


Завод установил контракты с различными магазинами на продажу хлебобулочных изделий. Контрактом установлены минимальное количество изделий на поставку каждого вида в день. В таблице 2 отражен спрос в день для каждого вида выпечки, цена по каждому виду (стоимость указана без учета начинки для некоторых изделий).

Таблица 2 - Спрос в день по каждому виду выпечки, цена каждого вида

Вид хлебобулочного изделия

Цена за штуку, руб.

Минимальный выпуск продукции в день, шт.

максимальный выпуск продукции в день, шт.

Батон

16

420

500

Хлеб "Столичный"

17

70

110

Батон с отрубями

12

30

45

Батон с изюмом

13

20

50

Хлеб "Дарницкий"

17

270

300

Хлеб "Аромантый"

18

40

65

Хлеб "Паляница"

19

180

220

Докторская булочка

10

25

40

Плюшка московская

12

110

130

Сдоба с курагой

11

15

27

Марципан

12

90

112

Плетенка

14

40

60

Булочка столичная

7

25

45

Булочка для хот-догов

7

230

250

Сдоба с маком

12

165

180

Бублик с маком

20

90

110

Пирог с маком

45

15

25

Сдоба с изюмом

10

85

90

Рогалик с шоколадом

11

20

35

Ватрушка с творогом

15

20

30


В таблице 3 отражены количество ингредиентов для создания одной единицы продукции.

Таблица 3 - Рецептура хлебобулочных изделий

Наименование

Мука в/с, кг

Мука 1-го сорта, кг

Мука ржаная, кг

Дрожжи, кг

Соль, кг

Сахар, кг

Маргарин, кг

Батон

0,2

-

-

0,003

0,0045

0,012

0,011

Хлеб "Столичный"

-

0,3

0,22

0,004

0,008

0,008

-

Батон с отрубями

0,15

-

-

0,007

0,002

0,02

-

Батон с изюмом

0,15

-

-

0,007

0,002

0,02

-

Хлеб "Дарницкий"

-

0,24

0,22

0,003

0,009

-

-

Хлеб "Аромантый"

-

0,35

-

0,012

0,005

0,025

-

-

0,5

-

0,01

0,01

-

-

Докторская булочка

0,15

-

-

0,007

0,002

0,02

-

Плюшка московская

0,07

-

-

0,003

0,0007

0,014

0,01

Сдоба с курагой

0,05

-

-

0,002

0,0004

0,008

0,004

Марципан

0,05

-

-

0,002

0,0004

0,008

0,004

Плетенка

0,15

-

-

0,007

0,002

0,02

-

Булочка столичная

0,044

-

-

0,0024

0,0008

0,0008

0,0008

Булочка для хот-догов

0,04

-

-

0,002

0,0006

0,0009

0,0009

Сдоба с маком

0,05

-

-

0,002

0,0004

0,008

0,004

Бублик с маком

0,6

-

-

0,0006

0,0006

0,004

0,004

Пирог с маком

1,06

-

-

0,042

0,011

0,106

0,011

Сдоба с изюмом

0,05

-

-

0,002

0,0004

0,008

0,004

Рогалик с шоколадом

0,068

-

-

0,003

0,001

0,014

0,01

Ватрушка с творогом

0,068

-

-

0,003

0,0007

0,014

0,01


Исходя из данных, представленных в таблице 2 и таблице 3, определим себестоимость ассортимента, чтобы вычислить чистую прибыль от продажи.

Таблица 4 - Вспомогательная таблица

Наименование

Себестоимость

Стоимость продажи

Чистая прибыль

Батон

5,76

16

10,25

Хлеб "Столичный"

8,66

17

8,34

Батон с отрубями

5,07

12

6,93

Батон с изюмом

5,07

13

7,93

Хлеб "Дарницкий"

7,22

17

9,78

Хлеб "Аромантый"

8,35

18

9,65

Хлеб "Паляница"

9,10

19

9,90

Докторская булочка

5,07

10

4,93

Плюшка московская

3,16

12

8,84

Сдоба с курагой

1,94

11

9,06

Марципан

1,94

12

10,06

Плетенка

5,07

14

8,93

Булочка столичная

1,34

7

5,66

Булочка для хот-догов

1,21

7

5,80

Сдоба с маком

1,94

12

10,06

Бублик с маком

12,54

20

7,46

Пирог с маком

33,57

45

11,43

Сдоба с изюмом

1,94

10

8,06

Рогалик с шоколадом

3,12

11

7,88

Ватрушка с творогом

3,12

15

11,88


2.1 Составление математической модели

Обозначения:

i - индекс изделия

j - индекс ингредиента

xi - объем i-го изделия

yj - объем j-го ингредиента

pi - цена i-го изделия