Как составить функцию цели


Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке «Файлы работы» в формате PDF

ВВЕДЕНИЕ

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

1 Понятие о симплексном методе

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

Метод был разработан в 1947 году математиком из США Бернардом Данцигом. Предложенный способ оказался весьма эффективным для решения разнообразных землеустроительных и других экономических задач, связанных с оптимизацией использования ограниченных ресурсов. То есть он позволяет оценить и откорректировать параметры системы, а также получить качественные аналитические результаты. Универсальность данного метода проявляется в том, что он позволяет решать задачи различной размерности, в которых технико-экономические коэффициенты (αij) при переменных (Хij) выражены в разных единицах измерения.

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

2 Двухфазный симплекс-метод

Если в условии задачи линейного программирования не все ограничения представлены неравенствами типа «≤», то далеко не всегда нулевой вектор будет допустимым решением. Однако каждая итерация симплекс-метода является переходом от одной вершины к другой, и если неизвестно ни одной вершины, алгоритм вообще не может быть начат.Такой метод можно использовать, когда свободные члены уравнений являются любыми числами.

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

3 Алгоритм решения задач

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

Например, необходимо определить оптимальное сочетание объемов производства трех видов продукции (Х1, Х2, Х3) при имеющихся в хозяйстве трех видах ресурсов в размере в1=100, в2=40, в3=50 -это трудовые ресурсы с целью получения максимальной денежной выручки.

Экономико-математическая модель в симплексном методе составляется в следующей последовательности:

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

Zmax =20Х1+10Х2+30Х3   

3. условия задачи записываются в виде неравенств с ограничениями типа ≤. Каждое из неравенств выражает собой ограничения по одному из видов ресурсов, поэтому в левой части неравенства проставляют искомые переменные с коэффициентами, выражающими расход данного вида ресурса на единицу искомой переменной или, наоборот, выход данного вида ресурса с единицы соответствующей переменной. В правой части неравенства проставляется тип ограничения ≤ и величина соответствующего вида ресурса;

4. количество неравенств в системе ограничений обусловлено условиями задачи. При записи неравенств необходимо контролировать правильность их оформления: технико-экономические коэффициенты при переменных, состав переменных (в левой части неравенства), вид и размер ресурса (в правой части неравенства) должны строго соответствовать условиям задачи и характеру её постановки.

Таким образом, система ограничений выглядит следующим образом:

1+5Х2+8Х3≤100                                                                    

2,5Х1+3Х2+6Х3≤40                                                                    

1+4Х2+3Х3≤50                                                                      

5. после записи основных условий задачи в виде системы ограничений обязательно формулируется условие не отрицательности переменных, так как алгоритм симплексного метода позволяет решать задачи только с положительными значениями переменных (Хj):

Х1≤0; Х2≤0; Х3≤0.                                                                     

6. Представленная выше форма записи условий задачи в виде неравенств называется стандартной. Для заполнения первой симплексной таблицы (исходного плана) необходимо перейти от стандартной формы записи условий задачи к канонической, а от неё – к симплексной.

Каноническая форма записи условий задачи предусматривает преобразование неравенств (стандартной формы записи) в уравнения, для этого в левую часть каждого из неравенств вводят дополнительные переменные со следующими знаками: с плюсом, если неравенство типа « ≤ » и с минусом, если неравенство типа « ≥ ». Дополнительным переменным (Х4, Х5, Х6) поочередно присваиваются номера, продолжающие нумерацию основных переменных (Х1, Х2, Х3). В уравнение дополнительные переменные вводятся с коэффициентом 1, а в целевую функцию с нулевыми коэффициентами для исключения их влияния на результаты решения задачи.

Преобразуем приведенную выше систему неравенств в систему уравнений:

1+5Х2+8Х34≤100                                                              

2,5Х1+3Х2+6Х35≤40                                                                   

1+4Х2+3Х36≤50                                                              

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

Х4=100-(3Х1+5Х2+8Х3)                                                          

Х5=40-(2,5Х1+3Х2+6Х3)                                                         

Х6=50-(2Х1+4Х2+3Х3)                                                            

8. Исходя из симплексной формы записи условий задачи, становится ясен экономический смысл дополнительных переменных. На начальном этапе решения задачи принимается условие, что основные переменные равны нулю, а значения дополнительных переменных, исходя из симплексной формы записи, будут равны величинам ресурсов. В нашем примере: при Х1=0, Х2=0, Х3=0 будем иметь Х4=100, Х5=40, Х6=50.

В экономическом отношении это означает, что пока не реализовано ни одно из мероприятий, намечаемых по условиям задачи, ресурсы остаются неиспользованными. Исходя из данной установки, создается исходный базис, на основе которого начинается поиск оптимального решения задачи из числа допустимых её решений.

9. Если при решении отыскивается ответ с максимумом или минимумом линейной формы и все неосновные переменные получаются только положительными, то задача считается выполненной.

10. Если найденный максимум (минимум) линейной формы в функции имеет одну или несколько неосновных переменных с отрицательными коэффициентами, необходимо перейти к новому базисному решению.

11. Из переменных, входящих в форму с отрицательными или положительными коэффициентами, выбирается наибольшая (по модулю) и переводится в основные.

12. Другими словами, указывается оптимальное опорное решение, способ перехода от одного нахождения ответа к другому, варианты улучшения расчётов. После нахождения первоначального решения с «единичным базисом» вычисляется оценка разложения векторов по базису и заполняется симплексная таблица 1.

Таблица 1 –Первая симплексная таблица

Номера строк (ограниче-ний), i

Номера переменных, вошедших в базис, Xn+i

Коэффициенты целевой функции при базисной переменной,

Сi

Свободные члены (ресурсы),вi

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

Сумма по строке

Отношение

20

10

30

0

0

0

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

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

Х1

Х2

Х3

Х4

Х5

Х6

1

2

3

4

5

6

7

8

9

10

11

12

1

Х4

0

100

3

5

8

1

0

0

117

12,5

2

Х5

0

40

25

3

6

0

1

0

52,5

6,67

3

Х6

0

50

2

4

3

0

0

1

60

16,67

m+1

Zj-Cj

0

-20

-10

-30

0

0

0

-60

Столбцы 5-7 – это столбцы основных переменных (соответственно, Х1, Х2, Х3). Из первого уравнения 3Х1+5Х2+8Х34=100 коэффициенты при основных переменных (Х1, Х2, Х3), соответственно 3,5 и 8 занесены в столбцы данных переменных по первой строке таблицы и так далее.

Столбцы 8-10 – это столбцы дополнительных переменных (Х4, Х5, Х6), в которых проставляются коэффициенты при данных переменных по каждому уравнению, в которое входит соответствующая переменная. Так, дополнительная переменная Хвходит в первое уравнение с коэффициентом 1, поэтому данный коэффициент записываем. В остальных столбцах дополнительных переменных Х5 и Х6 по первой строке проставляем нули, т.к. данные дополнительные переменные не входят в первое уравнение.

Столбец 11 – в него записывается суммы, полученные путем сложения свободного члена (вj) и коэффициентов (аij) по соответствующей строке таблицы. Так, если сложить по первой строке таблицы свободный член и коэффициенты (100+3+5+8+1=117), то получим число 117. Аналогичным образом получаем значения для других.

Столбец 12 – в него записываются значения, полученные в результате построчного деления значений свободных членов (вj) на положительные коэффициенты ключевого (k-го) столбца.

Для выполнения таких расчетов необходимо предварительно выбрать ключевой столбец (k–й столбец). В качестве ключевого (k-го) выбирается столбец (из числа столбцов основных переменных Х1, Х2, Х3, по которому в индексной (m+n) строке таблицы стоит максимальное по абсолютной величине: отрицательное число при решении задачи на максимум и, наоборот, положительное число, при решении задачи на минимум. В данной задаче таким максимальным по абсолютной величине числом является -30 (т.к. Z→max).

Теперь можно выполнить расчеты для заполнения столбца 12. По первой строке указанное отношение    получаем, разделив свободный член 100 (в1=100) на положительный коэффициент 8 (в1=8), стоящий по данной строке в ключевом столбце. Оно равно 12,5 (   ). 

Столбец m+1 – это индексная строка симплексной таблицы. На ней записывается численное значение функции цели (Z). В первой симплексной таблице оно равно нулю (Z=0).

Все остальные элементы индексной (m+1) строки рассчитываются по формуле:

13. Анализ плана на оптимальность 

Признаком оптимальности опорного плана является отсутствие в индексной (m+1) строке при решении задачи на минимум – положительных коэффициентов или нулей. Если это условие не выполняется, то план не оптимален и необходимо его улучшать.

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

Вместо базисной переменной, стоявшей в базисе (столбец 2) по ключевой l-строке предыдущей таблицы в новую таблицу записывают переменную Хj, столбец которой выбран в качестве ключевого. Этим самым в базис новой симплексной таблицы вводится новая базисная переменная, а прежняя – выводится из базиса;

— в столбец 3, рядом с новой переменной, введенной в базис, записывают её коэффициент целевой функции. Остальные базисные переменные и их коэффициенты целевой функции (столбцы 2 и 3) переписываются в новую таблицу из предыдущей без изменения;

— элементы (   ) для заполнения в новой таблице строки, стоящей на месте ключевой l-строки предыдущей таблицы, вычисляются как отношение соответствующего элемента (alj) ключевой l-строки на главный элемент (alk) предыдущей таблицы, т.е. по формуле:  

— элементы остальных строк новой симплексной таблицы, за исключением строки, стоящей на месте бывшей ключевой l-строки, пересчитываются по одной из следующих формул:

            , (   )        

де   , аij – однотипные коэффициенты, соответственно новой и предыдущей симплексной таблиц;

     , аlj – коэффициенты строки, стоящей в новой таблице на месте бывшей ключевой l-строки и, соответственно, коэффициенты ключевой l-строки в предыдущей таблице;

    aik – коэффициенты ключевого К-столбца предыдущей симплексной таблицы;

    alk – главный (генеральный) элемент предыдущей симплексной таблицы, стоящий на пересечении ключевых l-строки и К-столбца.

Расчеты по указанным выше формулам выполняются для заполнения всех строк новой симплексной таблицы, включая индексную (m+1) строку, но исключая ключевую l-строку.

Таким образом получаем оптимальный план, представленный на таблице 3.

Таблица 2 — Вторая симплексная таблица

 i

Базис, Xn+i

Сi

вi

20

10

30

0

0

0

Сумма по строке

 

Контроль

Х1

Х2

Х3

Х4

Х5

Х6

1

2

3

4

5

6

7

8

9

10

11

12

13

1

Х4

0

46,66

-0,333

1

0

1

-1,333

0

47,00

47,00

2

Х3

30

6,667

0,417

0,5

1

0

0,167

0

8,751

15,86

8,751

3

Х6

0

30

0,750

2,5

0

0

-0,5

1

33,750

40

33,750

m+1

200

-7,5

5

0

0

5

0

202,500

202,500

 Таблица 3 — Третья симплексная таблица

 i

Базис, Xn+i

Сi

вi

20

10

30

0

0

0

Сумма по строке

 

Контроль

Х1

Х2

Х3

Х4

Х5

Х6

1

2

3

4

5

6

7

8

9

10

11

12

13

1

Х4

0

51,990

0

1,399

0,799

1

-1,199

0

53,989

53,989

2

Х1

20

15,988

1

1,199

2,398

0

0,400

0

20,985

20,985

3

Х6

0

18,010

0

1,600

-1,799

0

-0,799

1

18,012

18,012

m+1

319,909

0

13,993

17,985

0

8,003

0

359,890

359,890

14. Контроль правильности задачи должен осуществляться на всех этапах её решения: от составления экономико-математической модели задачи до анализа оптимального её решения.

В порядке осуществления текущего контроля правильности решения задачи и исключения «зацикливания», в поиске оптимального её решения необходимо иметь в виду следующее:

— если в ключевом К — столбце все коэффициенты (aik) отрицательные, то решения задачи не существует;

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

Если перечисленные условия контроля соблюдены, то это гарантирует получение оптимального решения задачи. Контроль оптимального плана осуществляется в процессе его анализа.

4 Модификация ограничений

Все ограничения задачи модифицируются согласно следующим правилам:

ограничения типа «≤» переводятся на равенства созданием дополнительной переменной с коэффициентом «+1». Эта модификация проводится и в однофазном симплекс-методе, дополнительные переменные в дальнейшем используются как исходный базис.

ограничения типа «≥» дополняются одной переменной с коэффициентом «−1». Поскольку такая переменная из-за отрицательного коэффициента не может быть использована в исходном базисе, необходимо создать ещё одну, вспомогательную, переменную. Вспомогательные переменные всегда создаются с коэффициентом «+1».

ограничения типа «=» дополняются одной вспомогательной переменной.

Соответственно, будет создано некоторое количество дополнительных и вспомогательных переменных. В исходный базис выбираются дополнительные переменные с коэффициентом «+1» и все вспомогательные. 

ЗАКЛЮЧЕНИЕ

Симплекс-метод позволяет эффективно найти оптимальное решение, избегая простой перебор всех возможных угловых точек. Основной принцип метода: вычисления начинаются с какого-то «стартового» базисного решения, а затем ведется поиск решений, «улучшающих» значение целевой функции. Это возможно только в том случае, если возрастание какой-то переменной приведет к увеличению значения функционала.

СПИСОК ЛИТЕРАТУРЫ

Симплексный метод решения задач линейного программирования [Электронный ресурс]// Информационный ресурс studopedia – Режим доступа: https://studopedia.ru/22_110893_simpleksniy-metod-resheniya-zadach-lineynogo-programmirovaniya.html/, свободный — Загл. с экрана.

Метод симплекса [Электронный ресурс]// Информационный ресурс nauka – Режим доступа: https://nauka.club/matematika/metod-simpleksa.html/, свободный — Загл. с экрана.

Симплекс-метод [Электронный ресурс]// Информационный ресурс wikipedia – Режим доступа: https://ru.wikipedia.org/wiki/Симплекс-метод/, свободный — Загл. с экрана.

Подробный разбор симплекс-метода [Электронный ресурс]// Информационный ресурс habr –  Режим доступа:  https://habr.com/ru/post/474286/, свободный — Загл. с экрана.

Прочие статьи цикла

Введение

Задача линейного программирования (ЗЛП) состоит в определении значений упорядоченной совокупности переменных xjj = 1(1)n при которых линейная целевая функция достигает экстремального значения и при этом выполняются (удовлетворяются) все ограничения (они также линейные) в форме равенств или неравенств. Требуется найти план  Х <n> = <x1, x2, …, xn>, который обеспечивает получение целевой функцией с экстремальным значением. Идеи моделей линейного планирования (программирования) впервые были высказаны и опубликованы советским математиком Л. В. Канторовичем в 1939 году в работе «математические методы организации и планирования производства». В 1975 году Л. В. Канторович и Т. Купманс получили Нобелевскую премию по экономическим наукам с формулировкой «за их вклад в теорию оптимального распределения ресурсов». В 1947 г. очень близкие идеи высказаны американским математиком Дж. Данцигом. А еще позднее стали массово появляться работы, посвященные проблемам выбора оптимальных решений в силу их исключительной важности. Признание приоритета за Л. В. Канторовичем не оспаривалось практически никогда, а после присуждения Нобелевской премии тем более. 

Общая постановка задачи

Задача линейного программирования (ЗЛП) состоит в определении значений упорядоченной совокупности переменных xj, j = 1(1)n при которых линейная целевая функция достигает экстремального значения и при этом выполняются (удовлетворяются) все ограничения в форме равенств или неравенств. Требуется найти план  Х <n> = <x1, x2, …, xn>, который обеспечивает получение целевой функцией экстремального значения

а) Если система ограничений ЗЛП обладает хотя бы одним решением, она называется совместной в противном случае несовместной; б) Допустимое множество решений ЗЛП не пусто, если система ограничений совместна; в) Множество допустимых решений ЗЛП (если оно не пусто) в общем случае является многогранным множеством. Линейная функция Q(X<n>) называется функцией цели, целевой функцией (ЦФ), множество планов {X<n>} удовлетворяющих системе ограничений (2) – (5), ­­- множеством допустимых решений (альтернатив) и обозначается символом R, X<n>є Ω  Допустимый план X<n>є Ω, доставляющий целевой функции (1) экстремальное значение, называется оптимальным. Задача в форме (1) – (5) представляет общую задачу линейного программирования.

Cтандартная форма задачи

Если все ограничения задачи заданы в виде строгих равенств и на переменные величины наложено условие неотрицатаельности  xj ≥0, j = 1(1)n, то такую формулировку называют стандартной:

Экстремумы функций в общем случае связаны простыми соотношениями

Переход от общей задачи к стандартной     

  1. Для удобства применения методов решения выполняют преобразование исходной общей задачи. Ограничения неравенства преобразуют в равенства. Вводятся дополнительные переменные по числу неравенств, т. е. формулируют расширенную задачу xn+1 ≥0, xn+2 ≥0, … , xn+k ≥0. Неравенства ai1x1+ai2x2+…+ainxn bi введением переменной xn+1≥0 преобразуются в равенства ai1x1+ai2x2+…+ainxn + ai(n+1)xn+1=bi. В ЦФ вновь введённые переменные имеют коэффициенты равные нулю cn+1=cn+2=…=cn+k =0.

  2. а) Если в исходной общей задаче на некоторые переменные  xj , j = 1(1)n,  не наложено условие их неотрицательности, то каждую такую переменную представляют в виде разности положительных новых переменных x’j — x»j , где x’j≥0 и j≥0 , j>r . Способ устранения отрицательных переменных прост, но при этом размерность (число неотрицательных переменных) задачи возрастает.      б) Имеется другой более сложный путь. Каждую xj 0 выражают явно через другие, для которых условие xj ≥0 выполняется. Затем найденные выражения подставляют в ограничения, чтобы исключить их из рассмотрения. При этом размерность задачи даже уменьшается. 

Каноническая форма задачи

Удобство этой формы ЗЛП состоит в том, что она позволяет предельно просто получить первое допустимое решение. Для этой формы должны быть выполнены условия:

  • правые части в ограничениях – неотрицательны bi ≥ 0, i = 1(1)m;

  • каждое уравнение содержит переменную xj ≥0  с коэффициентом при ней равным “1” в этом уравнении и с коэффициентом “0” во всех других уравнениях; эти переменные называют дополнительными или искусственными;

  • в ЦФ эти переменные входят с коэффициентом “0”;

  • определение опорного плана (начальной вершины) выполняют методом искусственного базиса, что ещё до решения задачи позволяет выяснить факт существования решения.

    Если исходная задача имеет хотя бы один план, то расширенная задача (после введения искусственных переменных в систему ограничений) также содержит этот план в качестве своего допустимого решения

Переменные x1, x2, …, xm называют базисными – остальные свободными (внебазисными).      Вершина допустимой области решений записывается в виде точки <β1, β2, …, βm, 0, 0,…,0>, так как векторы условий для x1, x2, …, xm являются линейно независимыми (образуют подматрицу, где единицы помещаются только на главной диагонали).

Геометрическая интерпретация ЗЛП

Будем рассматривать пример ЗЛП в производстве двух видов продукции на предприятии, использующем при этом четыре виды сырья (см. ранее эту задачу). Этот пример удобен для геометрической интерпретации тем, что пространство решений является двумерным (т. е. плоскость) и все элементы ЗЛП допускают наглядное представление (изображение) в трёхмерном пространстве. Начнём с рассмотрения системы неравенств (ограничений ЗЛП). Заметим, что каждое i-е неравенство в ограничениях ЗЛП определяет полуплоскость в системе координат х1Ох2 с граничной прямой ai1x1 + ai2x2 = bi , i = 1(1)m.

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

Рисунок 1 — Примеры областей, рписывающих ограничения, задачи линейного программирования

 Выпишем их и присвоим им имена

Область, формируемая полуплоскостями, может быть получена в виде замкнутого или разомкнутого (неограниченного) многогранника. Путём непосредственного построения границ (прямых) и выявления области пересечения полупространств выясним, является ли многогранное множество ограниченным и не пусто ли оно (рис.). Имеем на плоскости х1 О х2 многоугольник А Ո В Ո C Ո D Ո E Ո F . Он является выпуклым (всегда ли?), его граница образована отрезками прямых.

Целевая функция. Что можно сказать о линейной форме (ЦФ)? Это функция двух переменных x1 и x2, её образ в трёхмерном пространстве – плоскость, проходящая через начало координат. Найдём частные производные ЦФ по хj

Так как частная производная по переменной хj представляет наибольшую скорость изменения функции Q в направлении этой оси, то вектор C<n>= <c1, c2> — это вектор наибольшего изменения ЦФ, вектор градиентного направления. Если значения Q зафиксировать Q =Q1 = const , то уравнение ЦФ превращается в уравнение прямой c1x1 + c2x2= Q1= const плоскости х1О х2

В трёхмерном пространстве это плоскость параллельная х1О х2  на высоте Q1, в каждой точке <x1, x2, Q1>  которой значение ЦФ постоянно и равно Q1. . На плоскости Q этой прямой соответствует линия параллельная плоскости х1О х2, которую называют линией уровня (плотницкий уровень) функции c1x1 + c2x2 . Изменяя Q, получим семейство линий уровня параллельных друг другу. Требованию задачи – поиску экстремума Q соответствует смещение точки по поверхности функции Q в направлении вектора C<n>= <c1, c2>  от начала координат.

Ограничения ЗЛП не позволяют аргументам ЦФ Q(x1, x2) выходить за пределы многоугольной допустимой области. Другими словами, надо найти точку на плоскости Q наиболее удалённую от плоскости х1О х2 и проекция которой на х1О х2 лежит в области допустимых решений. Координаты x*1, x*2 найденной точки и определяют оптимальный план ЗЛП. Покажем, что семейство линий уровня (изолиний) перпендикулярно C<n>, т. е. перпендикулярно прямой х22х1/c1. Из векторного анализа известно, что все линии уровня ЦФ Q перпендикулярны вектору градиенту ЦФ, вычисленному в некоторой точке

Таким образом, перемещаясь вдоль вектора C<n> или по прямой х22х1/c1, легко построить линию уровня (она перпендикулярна х2 = с2х1/c1 ) и вычислить значение ЦФ Q для этой линии. Экстремум Q, очевидно, будет достигаться в положении касания линией уровня (её проекцией) границы множества допустимых решений. Такое касание может быть трёх типов: в вершине, по ребру, по грани многогранника. Этим типам касания соответствуют: единственное решение в вершине и бесконечное множество решений в других случаях.       Область допустимых решений. Рассмотрим случаи ограниченной и неограниченной области допустимых решений. В последнем случае поиск экстремума Q может приводить к отсутствию решения, так как extr Q → ±∞ или существует опорная прямая линия, касающаяся неограниченного многогранника, и тогда решение существует.

Пример. Описание области допустимых решений. 

Рисунок В - Область допустимых решений ЗЛП

Рисунок В — Область допустимых решений ЗЛП

Мы можем записать уравнение границы области D заданной неравенствами:

Основные понятия и теоремы линейной алгебры Важным понятием линейной алгебры является понятие линейного векторного пространства. Определение 2.1. Упорядоченная совокупность n действительных чисел называется n-мерным вектором. Определение 2.2. Совокупность всевозможных n-мерных векторов после введения в нее операций сложения и умножения на действительное число называется n-мерным линейным векторным пространством. Частными случаями линейных пространств являются прямая, плоскость, трехмерное пространство. Определение 2.3. Система векторов X1, X2, …, Xn называется линейно зависимой, если существуют такие числа λ1, λ2, …, λn, не равные нулю одновременно, при которых имеет место равенство: λ1X1+ λ2X2 …+ λn Xn=0 , где все λi ≥0 и λ1+ λ2+ …+ λn =1. Если же это равенство возможно лишь в случае, когда все λi = 0 (i = 1(1)n) , то система векторов называется линейно независимой. Определение 2.4. Базисом n-мерного векторного пространства называется любая совокупность n линейно независимых векторов этого пространства. В двумерном пространстве за базис могут быть взяты любые два неколлинеарных вектора, в частности, е1 = (1,0), е2 = (0, 1). В трехмерном пространстве – любые три некомпланарных вектора, например, е1 = (1,0,0), е2 = (0,1,0), е3 = (0,0,1).

Выпуклой линейной комбинацией точек X1, X2, …, Xn называется линейная комбинация вида: X= λ1X1+ λ2X2 …+ λn Xn где все λi ≥0 и λ1+ λ2+ …+ λn =1. В частности, когда имеются две точки X1 и X2, то их выпуклая комбинация λX1+(1- λ)X2, λ ∈[0,1] представляет собой точку на отрезке, соединяющем эти точки.

Теорема 1. Любой вектор n-мерного векторного пространства можно представить, как линейную комбинацию векторов базиса, притом единственным образом. Определение 2.5. Максимальное число линейно независимых векторов линейного пространства называется размерностью линейного пространства. Линейное пространство обычно обозначают, Rn где n – его размерность. Выпуклой оболочкой точек называется множество всевозможных выпуклых комбинаций этих точек. Множество называется выпуклым, если вместе с двумя любыми его точками оно содержит и их произвольную выпуклую линейную комбинацию. С геометрической точки зрения это означает, что выпуклое множество содержит вместе с любыми двумя своими точками и соединяющий их отрезок. Выпуклое множество совпадает со своей выпуклой оболочкой. Примерами выпуклых множеств являются прямолинейный отрезок, квадрат, круг, прямая, полуплоскость, куб, шар, полупространство и другие. Угловыми точками выпуклого множества называются точки, не являющиеся выпуклой линейной комбинацией двух произвольных точек множества. Например, угловыми точками треугольника являются его вершины, угловыми точками круга – точки окружности. Таким образом, выпуклое множество может иметь конечное или бесконечное число угловых точек, но может не иметь их совсем. Например, прямая, плоскость, полуплоскость, пространство, полупространство угловых точек не имеют. Одним из основных понятий теории линейного программирования является понятие выпуклого многогранника в n-мерном пространстве, частными случаями которого являются при n =  1 отрезок на прямой, при n = 2 выпуклый многоугольник на плоскости. Выпуклым многоугольником называется выпуклое замкнутое ограниченное множество точек на плоскости, имеющее конечное число угловых точек, называемых вершинами. Прямолинейные отрезки, соединяющие две вершины и образующие границу, называются сторонами многоугольника.

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

Выпуклым многогранником называется выпуклое замкнутое ограниченное множество точек пространства, имеющее конечное число угловых точек, называемых его вершинами. Многоугольники, ограничивающие многогранник, называются его гранями, а отрезки, по которым пересекаются грани, называются ребрами. Опорной плоскостью многогранника называется плоскость, имеющая с многогранником, расположенным по одну сторону от нее, хотя бы одну общую точку.

Теорема 2.2. Выпуклый n-мерный многогранник является выпуклой линейной комбинацией своих угловых точек.

Следствие 2.3. Из теоремы вытекает, что выпуклый многогранник порождается своими угловыми точками (вершинами): отрезок – двумя точками, треугольник – тремя точками, n – угольник на плоскости – n точками и т. д. В тоже время выпуклая многогранная область, содержащая бесконечно удаленную точку, являясь неограниченным множеством, не определяется однозначно своими угловыми точками: любую ее точку нельзя представить в виде выпуклой линейной комбинации угловых точек.

Элементы выпуклых множеств

Определение 1. Множеством называется совокупность элементов любой природы, для которых задано правило принадлежности к данному множеству.

Определение 2. е — о к р е с т н о с т ь ю точки х называется множество всех точек, расстояние которых до точки х меньше е.

Определение 3. Точка х1 называется внутренней точкой множества M, если существует такая — окрестность данной точки, все точки которой принадлежат множеству M.

Определение 4. Точка х2 называется в н е ш н е й т о ч к о й м н о ж е с т в а M, если существует такая — окрестность данной точки, все точки которой не принадлежат множеству М.

Определение 5. Точка х3 называется г р а н и ч н о й т о ч к о й м н о ж е с т в а M, если в любой её — окрестности существуют точки как принадлежащие множеству M, так и не принадлежащие этому множеству.

Определение 6. Множество М называется з а м к н у т ы м, если оно содержит все свои граничные точки. х 2— незамкнутое множество, Пример. х 2 — замкнутое множество.

Определение 7. Множество М называется в ы п у к л ы м, если вместе с любыми двумя точками, принадлежащими данному множеству, оно содержит и отрезок их соединяющий. В общей форме ЗЛП каждый символ R1, R2, …, Rm означает один из знаков: = или ≠. В такой форме задачи линейного программирования часть переменных может быть подчинена условию неотрицательности (xi 0), часть – условию неположительности (xj 0), а какие-то переменные, возможно, могут принимать любые значения.

Общий алгоритм симплексного метода ЗЛП

Решается задача

Пусть система невырожденна и совместна, т.е. rA = rB = r = m<n  — ранг.

Выделим m = r базисных переменных x1, x2, …, xm , ф = 1(1)m и k = n — m свободных переменных xm+1, xm+2, …, xn , j = m + 1(1)n ; ЦФ и базисные переменные выразим через свободные

Все введённые переменные в новых обозначениях удобно свести в таблицу, которая называется симплексной.

Алгоритм решения

1) Формируем исходный план при свободных переменных; xj =0, j = m+1(1)n, xj = βф, ф = 1(1)m при βф > 0 план xo<n> допустим Q(x) =xo.

2) Проверяем этот план на оптимальность, используя значения γj коэффициентов ЦФ в последней строке таблицы. Могут быть два случая:

а) все γj 0, j = m+1(1)n , при этом увеличение никакой переменной (из свободных) не приведёт к уменьшению ЦФ Q, т. е. план xo<n> улучшить нельзя, и он уже оптимален, таким образом, условием оптимальности плана является – отсутствие в таблице γj >0.

б) некоторые γj > 0.   В этом случае увеличение значений соответствующих свободных переменных xj (γj > 0) будет минимизировать Q, так как

Чтобы Q уменьшалось, такие переменные следует вводить (последовательно) в базис, но, чтобы размерность пространства не изменялась из базиса должны выводиться переменные в число свободных (по одной) формируем множество индексов Г = { j | γj >0}.          Какая переменная должна первой вводиться в базис? Вообще последовательно перебирая (вершины симплекса) решение отыскивается при произвольном выборе, но для определённости выбираем новую базисную переменную с индексом v = argmax {xj}, где j ∈ Г. Теперь определим переменную (базисную), которая будет выводиться из базиса.

В системе уравнений

Начинаем увеличивать хv до тех пор, пока некоторый хф станет отрицательным. Первый же хф ≤ 0 будет выводиться из базиса. Определение. Столбец с индексом v и строка с индексом ф = i называются направляющими.

3) Проверка существования решения (ограниченность ЗЛП). В выражениях, связывающих х, ∝, β, хф = βф -∝фvхv, ф=1(1)m, могут быть все фv < 0 и тогда рост хv будет неограниченно увеличивать все хф, т.е. ни одно отрицательное значение не будет принимать.  Это случай, когда ЦФ Q  не ограничена снизу и, следовательно, ЗЛП не имеет оптимального решения.

Признаком неограниченности ЦФ является отсутствие в направляющем v— м столбце значений фv > 0. Пусть ЦФ ограничена и некоторые фv > 0. Сформируем множество индексов S = { ф | фv >0}. Из базиса необходимо выводить переменную с индексом i, так как она первая обращается в нуль, i = argmin(βф/фv), где ф∈S, таким образом, базисная переменная xi выводится из базиса.

Определение. Коэффициент фv=iv ,  стоящий на пересечении направляющих строки и столбца называется направляющим (разрешающим, генеральным) элементом таблицы.

4) Формируем новые множества:

Дальнейшие действия алгоритма:

  • преобразуем задачу, т.е. все базисные переменные и целевую функцию выражаем через свободные переменные;

  • заполняем новую симплексную таблицу;

  • делаем все свободные переменные хj = 0 и находим опорный план;

    Опорный план (вектор) такой Х’<n>=< β12,…,βv,,…,βm, 0, 0…,0>; Q(Х’<n>) Q0 ;

  • если план не оптимален, то определяем направляющий столбец;

  • проверяем существует ли оптимальный план;

  • если оптимальный план существует, то находим направляющую строку и вновь изменяем базис и т. д.   

  • Переход от одной таблицы к другой связан с трудоемкими расчетами (о чем надо еще написать)    Вводимую в базис переменную хν (икс ню) выражаем через свободные переменные и выводимую хi. Действуем так.

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

Рисунок С - Структурная схема алгоритма симплекс-метода

Рисунок С — Структурная схема алгоритма симплекс-метода

При решении задач линейного программирования вычисляются ранги у матрицы ограничений и расширенной матрицы ранги должны быть равны r=m.

Матрица и её ранг. Система mn чисел, расположенных в форме прямоугольной таблицы из m строк и n столбцов, называется матрицей.

Определение. Рангом матрицы [A] называется наибольший порядок, который могут иметь её миноры, не обращающиеся в нуль. Для определения ранга матрицы следует рассмотреть все её миноры порядка р (где р – меньшее из чисел m, n, если m ≠ n или р = m = n); если хотя бы один из них ≠ 0, то ранг [A] равен р; если же все они равны (= 0), то следует рассмотреть все миноры порядка р – 1 и т. д. Практически поступают наоборот: переходят от миноров меньшего порядка к минорам большего порядка, в соответствии со следующим правилом. Если найден минор k-го порядка Dk, отличный от нуля, то остается вычислить только те миноры (k + 1) -го порядка, которые представляют собой «окаймление» Dk, например,

Определение. Минором k-го порядка матрицы [A] (k ≤ m, k ≤ n) называется определитель D, составленный (с сохранением порядка) из k2 элементов матрицы, лежащих на пересечении некоторых её k столбцов и k строк См. схему выше минор D из 3-х строк и 3-х столбцов. Обозначается матрица символами:

Матрица А и ее миноры с различным окаймлением

Матрица А и ее миноры с различным окаймлением

Приведем пример вычисления ранга матрицы.

С выполнением каждого шага связаны процедуры:

1. Получение опорного плана; 2. устанавливается, является ли данный опорный план оптимальным; 3. если нет, то существует ли оптимальный план вообще, или задача является неограниченной; 4. если оптимальный план существует, то, как перейти на следующем шаге, к новому опорному плану с меньшим значением ЦФ.

Алгоритм СМ применяется к ЗЛП после её приведения к канонической форме, т.е. отыскивается минимум целевой функции min Q(X) на множестве векторов Х<n>.

Система ограничений совместна rA = rB  и detA ≠ 0 невырожденная, т.е. ранг r =m матрицы A[m, n] и расширенной матрицы системы равен m. Имеется множество решений. Для решения системы произвольным (n — m) переменным могут быть приданы любые, в частности, нулевые значения. Эти переменные называются свободными. Обычно их индексируют xe, e =(m+1)(1)n. Остальные переменные (их называют базисными), однозначно определяются из решения системы

(здесь xe, e =(m+1)(1)n). Матрица этой системы неособенная и, следовательно, система имеет единственное решение xj , j =1(1)m.

Исходный опорный план ЗЛП – вектор, содержащий значения всех переменных задачи как базисных, так и свободных, т.е. этот вектор Х<n>, удовлетворяет ограничениям, но не обеспечивает, как правило, экстремума ЦФ. Общее число опорных планов очевидно равно числу сочетаний из n по m. Оптимальный план можно выявить, перебрав их все. Такой путь громоздок и неприемлем уже при n, m ≈ 10 ÷15.

Алгоритм СМ тоже перебирает опорные планы, но не все, а направленно, т.е. на каждом шаге ЦФ уменьшается. Число шагов имеет тот же порядок, что и число уравнений в ограничениях.

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

Определение. Системой линейных уравнений называют систему следующего вида. Ранг матрицы определяется через миноры  r = – 5.

Решение системы уравнений. Решаем относительно переменных x и y, полагаем z = 1. Получаем единственное решение х = –2/5, y = 3/5, z =1. Все другие решения получаются из этого линейно-независимого фундаментального решения:  х = –2k/5; y = 3k/5;  z = k  или х = 2k , y = 3k, z = 5k. Подобные системы возникают при описании ограничений ЗЛП. Существенную роль при решении ЗЛП играют определители подобных систем (Δ = 0, Δ ≠ 0). При однородной системе определитель должен быть равен нулю.

Определение. Симплекс – выпуклый многоугольник в n-мерном пространстве с n + 1 вершинами, не лежащими в одной гиперплоскости. Симплексы выделены в отдельный класс потому, что в n-мерном пространстве n точек всегда лежат в одной гиперплоскости. Другими словами, симплекс – это простейший многоугольник, содержащий некоторый объем n-мерного пространства. В обычном (трехмерном) пространстве симплекс – это тетраэдр; трехмерный объем совпадает с объемом тела. На плоскости симплекс – это треугольник, двумерный объем – площадь; на прямой – симплекс – отрезок, объем – длина отрезка.

Определение. Гиперпространство, гиперплоскость. Гиперпространство многомерного (n-мерного) пространства – это его подпространство размерности (n – 1). Главное свойство гиперпространства – то, что оно «самое большое» подпространство. Иначе говоря, если к базису выбранного гиперпространства добавить еще один линейно независимый вектор, то можно получить базис всего пространства.

Например, для трехмерного пространства гиперпространством является плоскость (любая), проходящая через начало координат. Для двумерного пространства – гиперпространство – это прямая линия, проходящая через нуль.

Гиперплоскость в n-мерном пространстве обобщает наши представления о роли прямой на плоскости и плоскости в пространстве. Например, в n-мерном пространстве через любые n точек можно провести единственную гиперплоскость (как в трехмерном через три точки общего положения, т.е. не лежащие на одной прямой).

Гиперплоскость определяется линейной формой: а1х1 + а2х2 + … + аnxn = k, где коэффициенты (а1, а2, …, аn) представляют собой координаты вектора А.

Гиперплоскость делит пространство (соответствующей размерности) на два полупространства. Все точки каждого из них определяются неравенствами. Например, в случае прямой линии на плоскости: а1х1 + а2х2 Z,  или  а1х1 + а2х2 >Z , а1х1 + а2х2 <Z  а1х1 + а2х2 Z. Эти два варианта различаются тем, к какой полуплоскости мы относим разделяющую прямую.  

Литература

  1. Ваулин А. Е. Методы цифровой обработки данных.– СПб.: ВИККИ им. А. Ф. Можайского, 1993.– 106 с.

  2. Гэри М., Джонсон Д. Вычислительные машины и трудно решаемые задачи. М.: Мир, 1982.

  3. Корбут А.А., Финкельштейн Ю. Ю. Дискретное программирование М. Наука. Гл. ред. физ.-мат. лит. 1969.

  4. Макаров И. М. и др. Теория выбора и принятия решений.– М.: Наука, 1982.– 328 с.

  5. Пфанцагль  И. Теория измерений. – М.: Наука, 1988.–384 с.

  6. Таха Х. А. Введение в исследование операций. 7-е изд. М.: Изд. дом «Вильямс», 2005.

  7.  Фишберн П. С. Теория полезности для принятия решений. – М.: Наука,1978. –352 с.

Пример 5.1. Решить следующую задачу линейного программирования симплекс-методом:

Решение:

I итерация:

1 этап: формирование исходной симплекс-таблицы.

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

В полученной системе уравнений примем в качестве разрешенных (базисных) переменные х3, х4, х5, х6, тогда свободными переменными будут х1,х2. Выразим базисные переменные через свободные:

Приведем целевую функцию к следующему виду:

На основе полученной задачи сформируем исходную симплекс-таблицу:

Таблица 5.3

Исходная симплекс-таблица

СП

БП

Оценочные отношения

18

1

3

16

2

1

5

0

1

21

3

0

0

–2

–3

2 этап: определение базисного решения.

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

.

3 этап: проверка совместности системы ограничений ЗЛП.

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

4 этап: проверка ограниченности целевой функции.

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

5 этап: проверка допустимости найденного базисного решения.

Так как найденное базисное решение не содержит отрицательных компонент, то оно является допустимым.

6 этап: проверка оптимальности.

Найденное базисное решение не является оптимальным, так как согласно признаку оптимальности (признак 4) в строке целевой функции не должно быть отрицательных элементов (свободное число данной строки при рассмотрении данного признака не учитывается). Следовательно, согласно алгоритму симплекс-метода переходим к 8 этапу.

8 этап: определение разрешающего элемента.

8.1. Определение разрешающей колонки.

Так как найденное базисное решение допустимое, то поиск разрешающей колонки будем производить по следующей схеме: определяем колонки с отрицательными элементами в строке целевой функции (кроме колонки свободных чисел). Согласно таблице 5.3, таких колонок две: колонка «х1» и колонка «х2». Из таких колонок выбирается та, которая содержит наименьший элемент в строке целевой функции. Она и будет разрешающей. Колонка «х2» содержит наименьший элемент (–3) в сравнении с колонкой «х1». Следовательно, ее принимаем в качестве разрешенной.

8.2. Определение разрешающей строки.

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

Таблица 5.4

Исходная симплекс-таблица

В таблице 5.4 наименьшее положительное оценочное отношение соответствует строке «х5», следовательно, она будет разрешающей.

Элемент, расположенный на пересечение разрешающей колонки и разрешающей строки, принимается в качестве разрешающего. В нашем примере – это элемент , который расположен на пересечении строки «х5» и колонки «х2».

9 этап: преобразование симплекс-таблицы.

Разрешающий элемент показывает одну базисную и одну свободную переменные, которые необходимо поменять местами в симплекс-таблице, для перехода к новому «улучшенному» базисному решению. В данном случае это переменные х5 и х2, в новой симплекс-таблице (таблице 5.5) их меняем местами.

9.1. Преобразование разрешающего элемента.

Разрешающий элемент таблицы 5.4 преобразовывается следующим образом:

Полученный результат вписываем в аналогичную клетку таблицы 5.5.

9.2. Преобразование разрешающей строки.

Элементы разрешающей строки таблицы 5.4 делим на разрешающий элемент данной симплекс-таблицы, результаты вписываются в аналогичные ячейки новой симплекс-таблицы (таблицы 5.5). Преобразования элементов разрешающей строки приведены в таблице 5.5.

9.3. Преобразование разрешающей колонки.

Элементы разрешающей колонки таблицы 5.4 делим на разрешающий элемент данной симплекс-таблицы, а результат берется с обратным знаком. Полученные результаты вписываются в аналогичные ячейки новой симплекс-таблицы (таблицы 5.5). Преобразования элементов разрешающей колонки приведены в таблице 5.5.

9.4. Преобразование остальных элементов симплекс-таблицы.

Преобразование остальных элементов симплекс-таблицы (т.е. элементов не расположенных в разрешающей строке и разрешающей колонке) осуществляется по правилу «прямоугольника».

К примеру, рассмотрим преобразование элемента, расположенного на пересечении строки «х3» и колонки «», условно обозначим его «х3». В таблице 5.4 мысленно вычерчиваем прямоугольник, одна вершина которого располагается в клетке, значение которой преобразуем (т.е. в клетке «х3»), а другая (диагональная вершина) – в клетке с разрешающим элементом. Две другие вершины (второй диагонали) определяются однозначно. Тогда преобразованное значение клетки «х3» будет равно прежнему значению данной клетки минус дробь, в знаменателе которой разрешающий элемент (из таблицы 5.4), а в числителе произведение двух других неиспользованных вершин, т.е.:

«х3»: .

Аналогично преобразуются значения других клеток:

«х3 х1»: ;

«х4»: ;

«х4 х1»: ;

«х6»: ;

«х6 х1»: ;

« »: ;

« х1»: .

В результате данных преобразований получили новую симплекс- таблицу (таблица 5.5).

II итерация:

1 этап: составление симплекс-таблицы.

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

Таблица 5.5

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

СП

БП

Оценочные

отношения

–(3/1)=–3

–(1/1)=–1

5/1=5

0/1=0

(1)–1=1

–(0/1)=0

–(–3/1)=3

2 этап: определение базисного решения.

В результате проведенных симплекс-преобразований получили новое базисное решение (таблица 5.5):

.

Как видно, при данном базисном решении значение целевой функции =15, что больше чем при предыдущем базисном решении.

3 этап: проверка совместности системы ограничений.

Не совместность системы ограничений в соответствии с признаком 1 в таблице 5.5 не выявлена.

4 этап: проверка ограниченности целевой функции.

Неограниченность целевой функции в соответствии с признаком 2 в таблице 5.5 не выявлена.

5 этап: проверка допустимости найденного базисного решения.

Найденное базисное решение в соответствии с признаком 3 допустимое, так как не содержит отрицательных компонент.

6 этап: проверка оптимальности найденного базисного решения.

Найденное базисное решение в соответствии с признаком 4 не оптимальное, так как в строке целевой функции симплекс-таблицы (таблица 5.5) содержится отрицательный элемент: –2 (свободное число данной строки при рассмотрении данного признака не учитывается). Следовательно, переходим к 8 этапу.

8 этап: определение разрешающего элемента.

8.1. Определение разрешающей колонки.

Найденное базисное решение допустимое, определяем колонки с отрицательными элементами в строке целевой функции (кроме колонки свободных чисел). Согласно таблице 5.5, такой колонкой является только одна колонка: «х1». Следовательно, ее принимаем в качестве разрешенной.

8.2. Определение разрешающей строки.

Согласно полученным значениям положительных оценочных отношений в таблице 5.6, минимальным является отношение, соответствующее строке «х3». Следовательно, ее принимаем в качестве разрешенной.

Таблица 5.6

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

СП

БП

Оценочные

отношения

3

1

–3

3/1=3 – min

11

2

–1

11/2=5,5

5

0

1

21

3

0

21/3=7

15

–2

3

9 этап: преобразование симплекс-таблицы.

Преобразования симплекс-таблицы (таблицы 5.6) выполняются аналогично, как и в предыдущей итерации. Результаты преобразований элементов симплекс-таблицы приведены в таблице 5.7.

III итерация

1 этап: построение новой симплекс-таблицы.

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

Таблица 5.7

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

СП

БП

Оценочные

отношения

3/1=3

(1)–1=1

–3/1=–3

–(2/1)=–2

–(0/1)=0

–(3/1)=–3

–(–2/1)=2

2 этап: определение базисного решения.

В результате проведенных симплекс-преобразований получили новое базисное решение (таблица 5.7):

.

3 этап: проверка совместности системы ограничений.

Не совместность системы ограничений в соответствии с признаком 1 в таблице 5.7 не выявлена.

4 этап: проверка ограниченности целевой функции.

Неограниченность целевой функции в соответствии с признаком 2 в таблице 5.7 не выявлена.

5 этап: проверка допустимости найденного базисного решения.

Найденное базисное решение в соответствии с признаком 3 допустимое, так как не содержит отрицательных компонент.

6 этап: проверка оптимальности найденного базисного решения.

Найденное базисное решение в соответствии с признаком 4 не оптимальное, так как в строке целевой функции симплекс-таблицы (таблица 5.7) содержится отрицательный элемент: –3 (свободное число данной строки при рассмотрении данного признака не учитывается). Следовательно, переходим к 8 этапу.

8 этап: определение разрешающего элемента.

8.1. Определение разрешающей колонки.

Найденное базисное решение допустимое, определяем колонки с отрицательными элементами в строке целевой функции (кроме колонки свободных чисел). Согласно таблице 5.7, такой колонкой является только одна колонка: «х5». Следовательно, ее принимаем в качестве разрешенной.

8.2. Определение разрешающей строки.

Согласно полученным значениям положительных оценочных отношений в таблице 5.8, минимальным является отношение, соответствующее строке «х4». Следовательно, ее принимаем в качестве разрешенной.

Таблица 5.8

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

СП

БП

Оценочные

отношения

3

1

–3

5

–2

5

5/5=1 – min

5

0

1

5/1=5

12

–3

9

12/9=1?

21

2

–3

9 этап: преобразование симплекс-таблицы.

Преобразования симплекс-таблицы (таблицы 5.8) выполняются аналогично, как и в предыдущей итерации. Результаты преобразований элементов симплекс-таблицы приведены в таблице 5.9.

IV итерация

1 этап: построение новой симплекс-таблицы.

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

Таблица 5.9

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

СП

БП

Оценочные

отношения

–(–3/5)=3/5

5/5=1

–2/5

(5)–1=

–(1/5)=–1/5

–(9/5)=–9/5

–(–3/5)=3/5

2 этап: определение базисного решения.

В результате проведенных симплекс-преобразований получили новое базисное решение, согласно таблице 5.9 решение следующее:

.

3 этап: проверка совместности системы ограничений.

Не совместность системы ограничений в соответствии с признаком 1 в таблице 5.9 не выявлена.

4 этап: проверка ограниченности целевой функции.

Неограниченность целевой функции в соответствии с признаком 2 в таблице 5.9 не выявлена.

5 этап: проверка допустимости найденного базисного решения.

Найденное базисное решение в соответствии с признаком 3 допустимое, так как не содержит отрицательных компонент.

6 этап: проверка оптимальности найденного базисного решения.

Найденное базисное решение в соответствии с признаком 4 оптимальное, так как в строке целевой функции симплекс-таблицы (таблица 5.9) нет отрицательных элементов (свободное число данной строки при рассмотрении данного признака не учитывается).

7 этап: проверка альтернативности решения.

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

Ответ: оптимальное значение целевой функции рассматриваемой задачи =24, которое достигается при .

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

Решение:

I итерация:

1 этап: формирование исходной симплекс-таблицы.

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

В полученной системе уравнений примем в качестве разрешенных (базисных) переменные х3, х4, х5, х6, тогда свободными переменными будут х1,х2. Выразим базисные переменные через свободные:

Приведем целевую функцию к следующему виду:

На основе полученной задачи сформируем исходную симплекс-таблицу:

Таблица 5.10

Исходная симплекс-таблица

СП

БП

Оценочные отношения

18

1

3

16

2

1

5

0

1

21

3

0

0

–2

–3

2 этап: определение базисного решения.

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

.

3 этап: проверка совместности системы ограничений ЗЛП.

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

4 этап: проверка ограниченности целевой функции.

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

5 этап: проверка допустимости найденного базисного решения.

Так как найденное базисное решение не содержит отрицательных компонент, то оно является допустимым.

6 этап: проверка оптимальности найденного базисного решения.

Найденное базисное решение в соответствии с признаком 4 оптимальное, так как в строке целевой функции симплекс-таблицы (таблица 5.10) нет положительных элементов (свободное число данной строки при рассмотрении данного признака не учитывается).

7 этап: проверка альтернативности решения.

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

Ответ: оптимальное значение целевой функции рассматриваемой задачи =0, которое достигается при .

Пример 5.3. Решить следующую задачу линейного программирования симплекс-методом:

Решение:

I итерация

1 этап: составление исходной симплекс-таблицы.

Задача линейного программирования задана в каноническом виде. Составим расширенную матрицу и выделим с помощью метода Жордана-Гаусса базисные переменные. Примем в качестве базисных – переменные х1 и х2.

Умножим (поэлементно) первую строку на –3 и сложим со второй:

.

Умножим вторую строку на :

.

Сложим вторую с первой строкой:

.

В результате система ограничений примет следующий вид:

Выразим базисные переменные через свободные:

Выразим целевую функцию также через свободные переменные, для этого подставим полученные значения базисных переменных в целевую функцию:

.

Запишем целевую функцию в следующем виде:

.

Составим исходную симплекс-таблицу:

Таблица 5.11

Исходная симплекс-таблица

СП

БП

Оценочные отношения

–1

0

0

2

4

–3

2 этап: определение базисного решения.

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

.

Найденное базисное решение является вырожденным, т.к. имеется базисная переменная х2, равная нулю.

3 этап: проверка совместности системы ограничений ЗЛП.

Так как в таблице 5.11 имеется строка с отрицательным свободным числом (–1), в которой нет ни одного отрицательного элемента (т.е. отрицательного коэффициента при свободной переменной), то согласно признаку несовместности (признак 1) система ограничений данной задачи не совместна (строка целевой функции при рассмотрении данного признака не учитывается). Следовательно, рассматриваемая задача линейного программирования не имеет решения.

Ответ: рассматриваемая задача линейного программирования не имеет решения в силу несовместности ее системы ограничений.

Задача
о рациональном использовании
производственных мощностей является
одной из первых задач, для решения
которой были применены методы линейного
программирования. В общем виде
математическая модель об использовании
производственных мощностей может быть
получена следующим образом. Предположим,
что предприятие или цех выпускает n
видов изделий, имея m
групп оборудования. Известны нормы
времени на обработку каждого изделия
на каждой группе оборудования и фонд
времени работы каждой группы оборудования.
Требуется составить план производства,
при котором предприятие получит
наибольшую прибыль. Принимаются следующие
обозначения: i-номер
группы оборудования(1-m),
j-номер
вида изделия, aij-норма времени на обработку
единицы j-ого
изделия на i-ом
оборудовании, bi-фонд
времени работы i-ой
группы оборудования, cj-прибыль
на одно изделие j-ого
вида, xj-планируемое
количество единиц j-ого
изделия, (х1,х2…хn)-искомый
план производства. Компоненты
производственной программы должны
удовлетворять условию, что суммарное
время обработки всех изделий на данной
группе оборудования не превышает фонда
времени работы этой группы оборудования.
На обработку x1
единиц первого изделия будет затрачиваться
ai1*x1
единиц времени, второго – ai2*x2.
Эта сумма не может превышать фонд времени
работы i-ой
группы оборудования, то есть должна
быть меньше или равна bi.
Количество изделий не может быть
отрицательным, поэтому все х >0. Любое
неотрицательное значение системы
называют допустимым,
а допустимое решение, при котором целевая
ф-я (3) принимает наименьшее значение –
оптимальным
решением задачи ЛП (1)-(3).

Прибыль
будет равна: Z=c1*x1+c2*x2…+cn*xn
и она должна быть максимальной. Все это
образует математическую модель задачи
о рациональном использовании
производственных мощностей. Задача ЛП
– найти решения, которые дают наибольшую
прибыль.

А
– матрица удельных затрат ресурсов. В
– вектор объемов ресурсов. С – вектор
удельной прибыли.

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

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

Основную
задачу ЛП сформулируем следующим
образом: даны система m линейных уравнений
с n неизвестными

Основной
задачей

линейного программиро-вания называется
задача отыскания min
ли-нейной формы z
= c1x1+c2x2+…+c
x

при неотрицатель-ности входящих в нее
переменных и системы ограничений в виде
СЛАУ

aijxj

≤ bi

xj

0; i=
;
j=
.

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

  1. Ф-я
    z
    заменяется на “-z”.

  2. В
    левой части сис-мы ограничений СЛАН
    вводится по одной искусствен-ной
    переменной в каждое из неравен-ств.

Найти
план производства xj,
j=

обеспечивающий min
линейной формы


z
= —

cj
xj

min.
И ограничения

aijxj
+
xi
= bi

xj

0;
xi≥0,
i=
;
j=
.

Исходные
параметры задачи могут быть представлены
в виде технологической матрицы A
затрат ресурсов на единицу продукции
каждого вида, вектора B
объемов ресурсов и вектора C
удельной прибыли:


C=(c1,
…,
cn).

Матричная
форма записи:

14.
Геометрическая интерпретация задачи
ЛП и симплексного метода. Графическое
решение задачи ЛП с 2мя переменными.

Допустимые решения х образуют в
множестве точек допустимую область,
которая является пересечением замкнутых
полупространств. Эта область представляет
собой многогранник в n-мерном
пространстве, гранями которого служат
участки гиперплоскостей вида

или

.
Множество называется выпуклым, если
вместе с любыми двумя его точками ему
принадлежит и отрезок, соединяющий эти
точки. Полупространство – выпуклое
множество, допустимый многогранник
также является им. Замкнутым называется
множество, содержащее все свои граничные
точки. Угловые точки выпуклого множества
– точки, не являющиеся выпуклой
комбинацией двух различных точек
множества. Выпуклое замкнутое ограниченное
множество на плоскости, имеющее конечное
число точек, называется выпуклым
многоугольником. Многоугольник решений
может быть точкой, лучом, отрезком,
многоугольником и неограниченной
многоугольной областью. Задача ЛП
состоит в том, чтобы отыскать такие
точки многоугольника, координаты которых
обеспечивают целевой функции
минимальноемаксимальное значений.
Гиперплоскость – множество точек х с
координатами, удовлетворяющими линейному
уравнению. Многогранник – пересечение
конечного числа полупространств.

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

15.
Симплексметод ЛП: задача ЛП в предпочитаемой
форме, выражение функции цели через
свободные неизвестные, вычисление
относительных оценочных коеффици-ентов
j
и
значение целевой функции соответ-ствующих
данному базисному допустимому решению.

Симплекс-метод – частный случай общей
задачи, когда система уравнений имеет
предпочитаемый вид (Коэффициенты при
базисных переменных (остальные свободные)
равны 1. Базисные переменные есть только
в одном уравнении).При этом правые части
всех уравнений неотрицательны.

Минимизировать
L=c1x1+c2x2+…cnxn
(1), при условиях:

x1
+ g1,m+1xm+1
+
… + g1nxn
= h1,

x2
+ g2,m+1
xm+1
+
… + g2nxn
= h2,
(2)

xm
+ gm,m+1
xm+1
+
… + gmnxn
= hm

и
xj≥0,
j
= 1,2,…n
(3).

Одним
из допустимых решений задачи линейного
программирования (1)-(3) будет базисное
неотрицательное решение системы (2):
x1=h1,
x2=h2,…xm=hm,
xm+1=0,…xn=0
(4), ему соответствует значение целевой
ф-ии равное

L0=c1h1+c2h2+…cmhm+cm+1*0+…+cn*0
=

ci
hi
(5).

Надо
исследовать, является ли решение (4)
оптимальным (т.е. является ли значение
(5) наименьшим из всех возможных значений
целевой ф-ии (1), отвечающих различным
неотрицательным решениям системы (2)).

Учитывая
что система уравнений (2) имеет
предпочитаемый вид, находим для нее
общее решение: xi=hi-gi,m+1xm+1-…-ginxn,
i=1,2,…,m
(6). Если свободным неизвестным придавать
какие-нибудь неотрицательные значения,
то будем получать различные решения
системы (2), среди которых нас интересуют
только неотрицательные. Подставляя их
компоненты в линейную форму (1), можно
подсчитать соответствующие значения
целевой функции. Если переписать
выражение (1) в виде:


L
= c1x1+c2x2+…cmxm+
cm+1xm+1+…+cnxn=0
(7). Для того чтобы исключить базисные
неизвестные из (7) , достаточно умножить
первое уравнение системы (2) на c1,
второе- на c2,
… , m-e
на cm,
сложить полученные произведения и из
результата вычесть уравнение (7). Получим
L=∆m+1xm+1+…+∆nxn=L0
(8), где ∆j
=
c1g1j
+ c2g2j
+ … + cmgmj
— cj
,
j=1,2,…n
(9) или

j
=
zj
— cj,
zj=

cigij,
j=1,2,…n
(9a).
Целесообразно ввести вектор C
(c1,c2,…cm)`,
компонентами которого служат коэффициенты
при неизвестных в линейной форме (1), они
записываются в том порядке, в котором
расположены соответствующие базисные
неизвестные в системе уравнений. Тогда,
zj
можно
представить как скалярное произведение

j
=
CGj
cj,
j=1,2,…n.
А L0
= CH.

Для
проведения указанных вычислений обычно
составляют таблицу. Ее называют – первой
симплекс таблицей. Из Ур-я (8) получаем
выражение целевой ф-ии L
через свободные неизвестные:

L=L0-∆m+1xm+1-…-∆nxn.

С
помощью этого выражения исследуем
базисное допустимое решение на
оптимальность и выясним, как следует
поступить, если оно окажется неоптимальным.

16. Симплексный метод ЛП: исследование
данного базисного допустимого решения
на оптимальность, условия оптимальности
в случае минимизируемой и максимизируемой
функции цели.

Из
выражения L=L0-∆m+1xm+1-…-∆nxn
(1) следует, что базисное решение x1=h1,
x2=h2,…xm=hm,
xm+1=0,…xn=0
(2) является оптимальным решением задачи
ЛП

L=c1x1+c2x2+…cnxn
,при условиях:

x1
+ g1,m+1xm+1
+
… + g1nxn
= h1,

x2
+ g2,m+1
xm+1
+
… + g2nxn
= h2,

xm
+ gm,m+1
xm+1
+
… + gmnxn
= hm

и
xj≥0,
j
= 1,2,…n,
тогда и только тогда, когда в уравнении
L=∆m+1xm+1+…+∆nxn=L0
среди коэффициентов ∆j

при неизвестных нет ни одного
положительного, т.е. условие оптимальности
имеет вид: ∆j
≤0,
j=1,2,…n.

Действительно,
если в общем решении xi=hi-gi,m+1xm+1-…-ginxn,
i=1,2,…,m
мы станем придавать различные
неотрицательные значения свободным
неизвестным так, чтобы соответствующие
базисные неизв-е принимали неотрицательные
значения, то одновременно с частными
неотрицательными решениями с-мы
ограничений будем получать согласно
выражению (1), соответствующие им значения
целевой ф-ии. В частности, при нулевых
значениях свободных неизвестных
получится базисное решение (2) и
соответствующее ему значение линейной
формы

L0=c1h1+c2h2+…cmhm+cm+1*0+…+cn*0
=

ci
hi

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Ранее я описал, как принимать решения с учетом ограничивающих факторов. Цель таких решений – определить ассортимент продукции (производственный план), максимально увеличивающий прибыль компании. Решение заключалось в том, чтобы распределить ресурсы между продуктами согласно маржинальной прибыли, полученной на единицу ограниченных ресурсов, при соблюдении любых других ограничений, таких как максимальный или минимальный спрос на отдельные виды продукции. [1]

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

Линейное программирование – это название, данное комбинации инструментов используемых в науке об управлении. Этот метод решает проблему распределения ограниченных ресурсов между конкурирующими видами деятельности с тем, чтобы максимизировать или минимизировать некоторые численные величины, такие как маржинальная прибыль или расходы. В бизнесе он может использоваться в таких областях как планирование производства для максимального увеличения прибыли, подбор комплектующих для минимизации затрат, выбор портфеля инвестиций для максимизации доходности, оптимизация перевозок товаров в целях сокращения расстояний, распределение персонала с целью максимально увеличить эффективность работы и составление графика работ в целях экономии времени.

Скачать заметку в формате Word, рисунки в формате Excel

Линейное программирование предусматривает построение математической модели рассматриваемой задачи. После чего решение может быть найдено графически (рассмотрено ниже), с использованием Excel (будет рассмотрено отдельно) или специализированных компьютерных программ. [2]

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

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

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

Изготовление обоих продуктов требует затрат на машинную обработку, сырье и труд (рис. 1). На изготовление каждой единицы продукта А отводится 3 часа машинной обработки, 16 единиц сырья и 6 единиц труда. Соответствующие требования к единице продукта В составляют 10, 4 и 6. Николай прогнозирует, что в следующем месяце он может предоставить 330 часов машинной обработки, 400 единиц сырья и 240 единиц труда. Технология производственного процесса такова, что не менее 12 единиц продукта В необходимо изготавливать в каждый конкретный месяц.

Рис. 1. Использование и предоставление ресурсов

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

Линейная модель может быть построена в четыре этапа.

Этап 1. Определение переменных

Существует целевая переменная (обозначим её Z), которую необходимо оптимизировать, то есть максимизировать или минимизировать (например, прибыль, выручка или расходы). Николай стремится максимизировать маржинальную прибыль, следовательно, целевая переменная:

Z =    суммарная маржинальная прибыль (в рублях), полученная в следующем месяце в результате производства продуктов А и В.

Существует ряд неизвестных искомых переменных (обозначим их х1, х2, х3 и пр.), чьи значения необходимо определить для получения оптимальной величины целевой функции, которая, в нашем случае является суммарной маржинальной прибылью. Эта маржинальная прибыль зависит от количества произведенных продуктов А и В. Значения этих величин необходимо рассчитать, и поэтому они представляют собой искомые переменные в модели. Итак, обозначим:

х1 = количество единиц продукта А, произведенных в следующем месяце.

х2 = количество единиц продукта В, произведенных в следующем месяце.

Очень важно четко определить все переменные величины; особое внимание уделите единицам измерения и периоду времени, к которому относятся переменные.

Этап. 2. Построение целевой функции

Целевая функция – это линейное уравнение, которое должно быть или максимизировано или минимизировано. Оно содержит целевую переменную, выраженную с помощью искомых переменных, то есть Z выраженную через х1, х2… в виде линейного уравнения.

В нашем примере каждый изготовленный продукт А приносит 2500 руб. маржинальной прибыли, а при изготовлении х1 единиц продукта А, маржинальная прибыль составит 2500 * х1. Аналогично маржинальная прибыль от изготовления х2 единиц продукта В составит 3500 * х2. Таким образом, суммарная маржинальная прибыль, полученная в следующем месяце за счет производства х1 единиц продукта А и х2 единиц продукта В, то есть, целевая переменная Z составит:

Z = 2500 * х1 + 3500 *х2

Николай стремится максимизировать этот показатель. Таким образом, целевая функция в нашей модели:

Максимизировать Z = 2500 * х1 + 3500 *х2

Этап. 3. Определение ограничений

Ограничения – это система линейных уравнений и/или неравенств, которые ограничивают величины искомых переменных. Они математически отражают доступность ресурсов, технологические факторы, условия маркетинга и иные требования. Ограничения могут быть трех видов: «меньше или равно», «больше или равно», «строго равно».

В нашем примере для производства продуктов А и В необходимо время машинной обработки, сырье и труд, и доступность этих ресурсов ограничена. Объемы производства этих двух продуктов (то есть значения х1 их2) будут, таким образом, ограничены тем, что количество ресурсов, необходимых в производственном процессе, не может превышать имеющееся в наличии. Рассмотрим ситуацию со временем машинной обработки. Изготовление каждой единицы продукта А требует трех часов машинной обработки, и если изготовлено х1, единиц, то будет потрачено З * х1, часов этого ресурса. Изготовление каждой единицы продукта В требует 10 часов и, следовательно, если произведено х2 продуктов, то потребуется 10 * х2 часов. Таким образом, общий объем машинного времени, необходимого для производства х1 единиц продукта А и х2 единиц продукта В, составляет 3 * х1 + 10 * х2. Это общее значение машинного времени не может превышать 330 часов. Математически это записывается следующим образом:

3 * х1 + 10 * х2 ≤ 330

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

16 * х1 + 4 * х2 ≤ 400

6 * х1 + 6 * х2 ≤ 240

Наконец следует отметить, что существует условие, согласно которому должно быть изготовлено не менее 12 единиц продукта В:

х2 ≥ 12

Этап 4. Запись условий неотрицательности

Искомые переменные не могут быть отрицательными числами, что необходимо записать в виде неравенств х1 ≥ 0 и х2 ≥ 0. В нашем примере второе условия является избыточным, так как выше было определено, что х2 не может быть меньше 12.

Полная модель линейного программирования для производственной задачи Николая может быть записана в виде:

Максимизировать:    Z = 2500 * х1 + 3500 *х2

При условии, что:       3 * х1 + 10 * х2 ≤ 330

16 * х1 + 4 * х2 ≤ 400

6 * х1 + 6 * х2 ≤ 240

х2 ≥ 12

х1 ≥ 0

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

Этот метод подходит только для задач с двумя искомыми переменными. Модель, построенная выше, будет использована для демонстрации метода.

Оси на графике представляют собой две искомые переменные (рис. 2). Не имеет значения, какую переменную отложить вдоль, какой оси. Важно выбрать масштаб, который в конечном итоге позволит построить наглядную диаграмму. Поскольку обе переменные должны быть неотрицательными, рисуется только I-й квадрант.

Рис. 2. Оси графика линейного программирования

Рассмотрим, например, первое ограничение: 3 * х1 + 10 * х2 ≤ 330. Это неравенство описывает область, лежащую ниже прямой: 3 * х1 + 10 * х2 = 330. Эта прямая пересекает ось х1 при значении х2 = 0, то есть уравнение выглядит так: 3 * х1 + 10 * 0 = 330, а его решение: х1 = 330 / 3 = 110

Аналогично вычисляем точки пересечения с осями х1 и х2 для всех условий-ограничений:

Область допустимых значений Граница допустимых значений Пересечение с осью х1 Пересечение с осью х2
3 * х1 + 10 * х2 ≤ 330 3 * х1 + 10 * х2 = 330 х1 = 110; х2 = 0 х1 = 0; х2 = 33
16 * х1 + 4 * х2 ≤ 400 16 * х1 + 4 * х2 = 400 х1 = 25; х2 = 0 х1 = 0; х2 = 100
6 * х1 + 6 * х2 ≤ 240 6 * х1 + 6 * х2 = 240 х1 = 40; х2 = 0 х1 = 0; х2 = 40
х2 ≥ 12 х2 = 12 не пересекает; идет параллельно оси х1 х1 = 0; х2 = 12

Графически первое ограничение отражено на рис. 3.

Рис. 3. Построение области допустимых решений для первого ограничения

Любая точка в пределах выделенного треугольника или на его границах будет соответствовать этому ограничению. Такие точки называются допустимыми, а точки за пределами треугольника называются недопустимыми.

Аналогично отражаем на графике остальные ограничения (рис. 4). Значения х1 и х2 на или внутри заштрихованной области ABCDE будут соответствовать всем ограничениям модели. Такая область называется областью допустимых решений.

Рис. 4. Область допустимых решений для модели в целом

Теперь в области допустимых решений необходимо определить значения х1 и х2, которые максимизируют Z. Для этого в уравнении целевой функции:

Z = 2500 * х1 + 3500 *х2

разделим (или умножим) коэффициенты перед х1 и х2 на одно и тоже число, так чтобы получившиеся значения попали в диапазон, отражаемый на графике; в нашем случае такой диапазон – от 0 до 120; поэтому коэффициенты можно разделить на 100 (или 50):

Z = 25х1 + 35х2

затем присвоим Z значение равное произведению коэффициентов перед х1 и х2 (25 * 35 = 875):

875 = 25х1 + 35х2

и, наконец, найдем точки пересечения прямой с осями х1 и х2:

Уравнение целевой функции Пересечение с осью х1 Пересечение с осью х2
875 = 25х1 + 35х2 х1 = 35; х2 = 0 х1 = 0; х2 = 25

Нанесем это целевое уравнение на график аналогично ограничениям (рис. 5):

Рис. 5. Нанесение целевой функции (черная пунктирная линия) на область допустимых решений

Значение Z постоянно на всем протяжении линии целевой функции. Чтобы найти значения х1 и х2, которые максимизируют Z, нужно параллельно переносить линию целевой функции к такой точке в границах области допустимых решений, которая расположена на максимальном удалении от исходной линии целевой функции вверх и вправо, то есть к точке С (рис. 6).

Рис. 6. Линия целевой функции достигла максимума в пределах области допустимых решений (в точке С)

Можно сделать вывод, что оптимальное решение будет находиться в одной из крайних точек области принятия решения. В какой именно, будет зависеть от угла наклона целевой функции и от того, какую задачу мы решаем: максимизации или минимизации. Таким образом, не обязательно чертить целевую функцию – все, что необходимо, это определить значения х1 и х2 в каждой из крайних точек путем считывания с диаграммы или путем решения соответствующей пары уравнений. Найденные значения х1 и х2 затем подставляются в целевую функцию для расчета соответствующей величины Z. Оптимальным решением является то, при котором получена максимальная величина Z при решении задачи максимизации, и минимальная – при решении задачи минимизации.

Определим, например значения х1 и х2 в точке С. Заметим, что точка С находится на пересечении линий: 3х1 + 10х2 = 330 и 6х1 + 6х2 = 240. Решение этой системы уравнений дает: х1 = 10, х2 = 30. Результаты расчета для всех вершин области допустимых решений приведены в таблице:

Точка Значение х1 Значение х2 Z = 2500х1 + 3500х2
А 22 12 97 000
В 20 20 120 000
С 10 30 130 000
D 0 33 115 500
E 0 12 42 000

Таким образом, Николай Кузнецом должен запланировать на следующий месяц производство 10 изделий А и 30 изделий В, что позволит ему получить маржинальную прибыль в размере 130 тыс. руб.

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

  1. Начертите на графике две оси, представляющие собою два параметра решения; нарисуйте только I-й квадрант.
  2. Определите координаты точек пересечения всех граничных условий с осями, подставляя в уравнения граничных условий поочередно значения х1 = 0 и х2 = 0.
  3. Нанести линии ограничений модели на график.
  4. Определите на графике область (называемую допустимой областью принятия решения), которая соответствует всем ограничениям. Если такая область отсутствует, значит, модель не имеет решения.
  5. Определите значения искомых переменных в крайних точках области принятия решения, и в каждом случае рассчитайте соответствующее значение целевой переменной Z.
  6. Для задач максимизации решение – точка, в которой Z максимально, для задач минимизации, решение – точка, в которой Z минимально.

[1] Настоящая заметка написана по материалам CIMA.

[2] См., например, здесь.

Понравилась статья? Поделить с друзьями:
  • Как найти максимальное слово в списке питон
  • Как найти трейд ссылку steam на телефоне
  • Как найти сумму квадратов в python
  • Ip адрес приемника триколор как найти
  • Среднее эмпирическое как найти