![](/user_photo/2706_HbeT2.jpg)
- •Общая характеристика симплекс-метода
- •Требования к задачам, решаемым симплекс-методом
- •В качестве критерия оптимизации может выступать:
- •Математическая формулировка задачи
- •Информационное обеспечение моделирования
- •Требования, предъявляемые к информации
- •Подготовка исходных данных для составления матрицы эмм и решения задачи на эвм
- •Технолого-экономические коэффициенты
- •Классификация технико-экономических коэффициентов
- •Моделирование системных ограничений. Формирование ограничений по земельным ресурсам
- •Моделирование использования сельскохозяйственных угодий с учетом трансформации
- •Моделирование использования пашни и сельскохозяйственных угодий с учетом структуры угодий или посевных площадей
- •По потребности в семенах и их производству
- •К ресурсным ограничениям относятся условия по использованию трудовых, денежно-материальных средств, минеральных удобрений, машин и механизмов, оросительной воде. Общий вид
- •2. Приведение задач линейного программирования к каноническому представлению
- •Алгоритм симплекс-метода
- •Расчет всех элементов новой симплекс-таблицы
- •К основным блокам информации относятся
- •Дополнительные переменные, попавшие в базис
- •Дополнительные переменные, не попавшие в базис
- •Введение в план дополнительной переменной
- •Двойственные задачи линейного программирования
- •Тогда структурный вид двойственной задачи будет иметь вид:
- •Изменение коэффициентов в целевой функции при переменной, вошедшей в базисное решение.
- •Изменение коэффициента в целевой функции при переменной, не вошедшей в базисное решение
- •Математическая модель задачи дз
- •Последняя симплекс-таблица задачи дз-1
- •Пределы устойчивости оптимального решения при изменении коэффициентов целевой функции
Математическая модель задачи дз
(неканоническое представление)
Основные переменные и ограничения |
Х1 |
Х2 |
Х3 |
Х4 |
Х5 |
Тип ограни-чений |
Правые части огранич-й |
1. Ресурс пашни |
1 |
0 |
0 |
1 |
0 |
|
900 |
2.Трудовые ресурсы |
5 |
50 |
100 |
50 |
0 |
|
40000 |
3.Денежные ресурсы |
0 |
0 |
0 |
0 |
1 |
|
90000 |
4. Баланс кормов |
-2.5 |
80 |
40 |
-50 |
0 |
|
1000 |
5.Баланс концентр-в |
-2.5 |
30 |
10 |
0 |
0 |
|
0 |
6.Б-с кормов(свиньи) |
-2.5 |
0 |
40 |
-50 |
0 |
|
0 |
7.Поголовье коров |
0 |
1 |
0 |
0 |
0 |
|
110 |
8.Произв-во свинины |
0 |
0 |
100 |
0 |
0 |
|
3000 |
9.Денежные затраты |
70 |
25 |
100 |
300 |
-1 |
= |
0 |
Коэффициенты целевой функции |
225 |
800 |
300 |
0 |
0 |
max |
Приведение задач линейного программирования к каноническому представлению.
Приведение задач к каноническому виду (т.е. приведение ограничений к типу " - ") осуществляется за счет использования неотрицательных дополнительных переменных, вводимых в ограничения, и, частично, в целевую функцию.
Вначале каждому ограничению типа нестрогого неравенства " " или " " сопоставим свою дополнительную переменную. Проделаем это следующим образом.
В ограничениях типа " " вычтем из левой части дополнительную переменную, а в ограничениях типа " " прибавим к левой части дополнительную переменную, при этом все знаки нестрогого неравенства заменим на равенства. Каков смысл этих действий?
Рассмотрим, например, процесс такого изменения для 8-го неравенства - типа " " (соответствующую дополнительную переменную обозначим Х6). В результате придем к следующему представлению ограничения:
100*Х3 – Х6 =3000
Величина Х6 в этом равенстве называется избыточной переменной. Ее значение показывает, насколько левая часть исходного неравенства (8) превышает правую, а с экономической точки зрения Х6 означает сверхплановое производство свинины:
Х6 = 100*Х5 - 3000
Именно в этом смысл термина "избыточная переменная".
От 1-го неравенства (типа " "), введя дополнительную переменную Х7, придем к следующему ограничению:
X1 + Х4 * Х7 = 900
Величина Х7 в этом равенстве называется остаточной переменной. Ее значение показывает, насколько левая часть исходного неравенства (1) меньше правой:
X7 = 900 – X1 – X4,
то есть в данном случае, какая часть пашни остается неиспользованной. Именно в этом смысл термина "остаточная переменная".
Помимо избыточных и остаточных переменных в левые части ограничения типа
" " и " = " вводят со знаком " + " еще дополнительные неотрицательные переменные, называемые искусственными.
Итак, в результате придем к следующей канонической системе ограничений (в форме уравнений):
Х1 +Х4 +Х7 900 (1)
5*Х1+50*Х2+100*Х3 +50*Х4 +Х8 40000 (2)
Х5 +Х9 90000 (3)
-2,5*Х1+80*Х2+ 40*Х3 -50*Х4 +Х10 1000 (4)
-2,5*Х1+30*Х2+ 10*Х3 +Х11 0 (5)
-2,5*Х1+ + 40*Х3 –50*Х4 +Х12 0 (6)
Х2+ +Х13 110 (7)
100*Х3 -Х6 +Х14 3000 (8)
70*Х1+25*Х2+100*Х3+300*Х4 +Х15=0 (9)
в которой X1,...,X5 - основные, Х6 - избыточная, Х7, … ,Х13, - остаточные и Х14, Х15 – искусственные переменные.
Предыдущие пояснения показывают, каков экономический смысл дополнительных переменных. С вычислительной точки зрения их введение позволяет сразу получить первое (опорное) решение задачи. Действительно, если основные и избыточные переменные положить равными нулю, то из ограничений будет сразу следовать, что остаточные и искусственные переменные должны быть равны правым частям соответствующих ограничений.
Уравнение целевой функции:
Z = 225*Х1 + 800*Х2 + 10*Х3 – М*Х14 – М*Х15 max,
где M – большое число (больше остальных коэффициентов целевой функции).
Таблица 3
Последняя симплекс-таблица задачи ДЗ
(Zmах = 240538)
Номер строки |
Базисные перем-е |
Ном.огр. для доп.пер-х |
Аiо |
Коэффициенты замещения |
|||
Аi6(X14) (изб.огр.8) |
Аi7(X7) (ост.огр.1) |
(ост.огр.4) |
(ост.огр.5) |
||||
1 |
Х12(ОСТ.) |
6 |
3812 |
0.2831 |
6.15 |
-0.877 |
2.338 |
2 |
Х8 (ОСТ.) |
2 |
28620 |
0.86 |
-10 |
0.2 |
-2.2 |
3 |
Х9 (ОСТ) |
3 |
9121 |
1.478 |
-89.62 |
4.208 |
-12.05 |
4 |
Х2 (ОСН.) |
- |
60.15 |
0.0035 |
0.0769 |
0.0015 |
0.029 |
5 |
Х3 (ОСН.) |
- |
30 |
-0.01 |
0 |
0 |
0 |
6 |
Х1 (ОСН.) |
- |
841.8 |
0.0025 |
0.923 |
0.0184 |
-0.049 |
7 |
Х13(ОСТ.) |
7 |
69.85 |
-0.0035 |
-0.077 |
-0.015 |
-0.029 |
8 |
Х5 (ОСН.) |
- |
80880 |
-1.478 |
89.62 |
-4.2 |
12.05 |
9 |
Х4 (ОСН.) |
- |
58.15 |
-0.0025 |
0.0769 |
-0.018 |
0.049 |
(Zj – Cj) |
240538 |
2.385 |
269.2 |
5.385 |
12.31 |
К основным блокам информации относятся:
1). Собственно оптимальное решение - значения переменных, попавших в число базисных (см. 2-й и 4-й столбцы таблицы). Напомним, что небазисные переменные равны нулю.
2). Значения целевой функции, которое дается начальным элементом индексной строки - (Z0-C0), расположенным на пересечении столбца Аi0 и строки (Zj-Cj). В данном случае оно равно 240538.
3). Значения элементов индексной строки, соответствующих остаточным и избыточным переменным. Эти значения называют двойственными оценками или, точнее, оценками переменных двойственной задачи линейного программирования. Напомним, что если переменная попала в число базисных, то соответствующий ей элемент индексной строки равен нулю.
4). Коэффициенты замещения.
Интерпретация оптимального решения.
Как уже отмечалось, последняя симплекс-таблица содержит полную информацию об оптимальном решении - значения всех переменных в оптимуме и экстремальное (минимальное или максимальное) значение целевой функции.
Учитывая, что различные группы данных характеризуют различные аспекты оптимального решения, целесообразно дать их описания раздельно. (Значения всех величин приводятся округленно).
а). Экстремальное значение целевой функции - основной показатель достигаемого в результате оптимизации эффекта:
Zmax = 240538 тыс.руб.
б). Основные переменные, попавшие в базис:
площадь зерновых культур X1 = 842 га;
поголовье коров Х2 = 60 гол;
поголовье свиней Х3 = 30 гол;
площадь кормовых культур Х4 = 58 rа;
денежные расходы хозяйства X5 = 86879 рублей.
в). Основные переменные, не попавшие в базис:
В рассматриваемой задаче такие переменные отсутствуют. Однако в общем случае часть основных переменных может не попасть в базис (и, следовательно они будут иметь нулевые значения). В задаче ДЗ основные переменные X1,...,X4, попавшие в базис, характеризуют эффективные отрасли хозяйства, то есть те, которые при заданных ресурсных ограничениях целесообразно развивать. Основным переменным, не попавшим в базис, если бы таковые нашлись, соответствовали бы отрасли, развитие которых нецелесообразно.
г). Дополнительные переменные, попавшие в базис:
недоиспользованные трудовые ресурсы Х8 = 28620 чел.-ч.;
недоиспользованные денежные ресурсы Х9 = 9121 тыс.руб.;
остаток кормов, соответствующий
объему балансовому уравнению по
свиньям Х12 = 3812 ц.к.е.
недоиспользованные места для
содержания коров Х13 = 50 гол.
д). Дополнительные переменные, не попавшие в базис:
Х7 - остаток площади пашни;
Х10 - остаток кормов (соответствующий всем видам кормов и всем видам животных);
Х11 - остаток концентрированных кормов (соответствующий всем видам животных).
Дадим более полную интерпретацию дополнительных переменных.
Те остаточные переменные, которые не вошли в базис, показывают, что в оптимуме соответствующий им ресурсы исчерпываются полностью (их остаток равен нулю). Либо, если в базис не вошла избыточная переменная, что план производства соответствующей продукции строго выполняется (не перевыполняется). Например, остаток пашни
Х7 = 0, то есть вся пашня используется: и действительно, сумма площадей пашни под зерновые и кормовые культуры равна общей площади пашни Х1 + Х4 = 900 га.
Остаточные переменные, попавшие в базис, характеризуют не полностью используемый ресурс. Например, остаются неиспользованными 50 мест для содержания коров. Соответственно, поголовье коров равно 60 голов вместо 110 максимально возможных.
В то же время интерпретация остатков кормов требует определенной осторожности. Например, остаток кормов “по свиньям” (переменная Х12) равен 3812 ц.к.е. Однако это не означает потери кормов. Поскольку общий остаток кормов (переменная Х12) равен нулю, то Х12 = 3812 ц.к.е., следует интерпретировать как часть кормов с пашни, идущую на корм коровам.
Избыточные переменные, вошедшие в базис, характеризуют перевыполнение плана по соответствующему виду продукции.
Ресурсы, которые в оптимуме исчерпываются полностью, принято называть дефицитными. Достаточно очевидно, что ограниченность именно этих ресурсов (дефицитность) сдерживает дальнейший рост производства (мешает дальнейшему увеличению целевой функции). Именно зa счет их увеличения можно повысить доход хозяйства. В то же время увеличение недефицитных ресурсов (соответствующие им остаточные переменные входят в базис), которых в хозяйстве и без того избыток, экономически не оправдано. Недефицитные (оставшиеся) ресурсы следует рассматривать как резерв производства.
Итак, даже первичный анализ оптимального решения дает полезную информацию экономического характера.
Двойственные задачи линейного программирования. Экономическая интерпретация значений двойственных переменных (двойственных сценок).
Каждой задаче линейного программирования можно поставить в соответствие двойственную задачу. Анализ решений двойственных задач позволяет четче понять экономическое содержание оптимального решения исходной (прямой) задачи.
Итак, пусть дана задача линейного программирования (в неканоническом представлении):
Х1 + +Х4 900 (1)
5*Х1 + 50*Х2 + 100*Х3 + 50*Х4 40000 (2)
Х5 90000 (3)
-2,5*Х1 + 80*Х2 + 40*Х3 - 50*Х4 1000 (4)
-2,5*Х1 + 30*Х2 + 10*Х3 0 (5)
-2,5*Х1 + + 40*Х3 – 50*Х4 0 (6)
Х2 110 (7)
100*Х3 3000 (8)
70*Х1 + 25*Х2 + 100*Х3 + 300*Х4 = 0 (9)
Хj 0, j = 1, … ,5. (10)
Общее структурное представление этой же задачи имеет вид:
;
Z
=
;
Соответствие между символами Aij, Bi, Сj и числовыми коэффициентами в соотношениях (1),...,(9) достаточно очевидно.
При постановке двойственной задачи вводят двойственные переменные - Y1,...,Y9,. Каждая переменная сопоставляется одному ограничению прямой задачи. Структурный вид обратной задачи таков:
Z’
=
Y
Соответствующая развернутая запись имеет вид:
Y1 + 5*Y2 – 2.5*Y4 – 2.5*Y5 – 2.5*Y6 + 70*Y9 225; (1)
50*Y2 + 80*Y4 + 30*Y5 + Y7 + 25*Y9 800; (2)
100*Y2 + 40*Y4 + 10*Y5 +40*Y6 + 100*Y8 + 100*Y9 100; (3)
Y1 + 50*Y2 – 50*Y4 – 50*Y6 + 300*Y9 0; (4)
Y3 – Y9 = 0. (5)
Z’ = 900*Y1 + 40000*Y2 + 90000*Y3 + 1000*Y4 + 110*Y7 + 3000*Y9 min (6)
Yi 0, i = 1,…,9. (7)
Обратите внимание на то, что по сравнению с прямой задачей поменялись знаки ограничений – вместо “ ” используется “ ” и целевая функция Z' подвергается минимизации, а не максимизации. (Отметим, что для прямых задач других видов - с ограничениями типа “ ”, на минимизацию целевой функции - правила построения обратных задач отличаются от рассмотренных).
Двойственную задачу можно рассматривать как обычную задачу линейного программирования и решить ее симплекс-методом в ручную или на ЭВМ.
Сравнивая результаты решения прямой и обратной задачи, можно установить следующие факты:
1) оптимальное (максимальное) значение целевой функции Z прямой задачи совпадает с оптимальным (минимальным) значением целевой функции Z' обратной задачи;
2) значения основных переменных обратной задачи Y1,...,Y9 совпадают с элементами индексной строки, соответствующими остаточным переменным ХЗ,...,Х6 в последней симплексной таблице прямой задачи.
Первый из указанных фактов позволяет дать простую экономическую интерпретацию оптимальных значений двойственных переменных. Основываясь на представлении целевой функции обратной задачи, можно записать:
Zmax = Z’min =
Преобразование оптимального решения с помощью коэффициентов замещения последней симплекс-таблицы
Рассмотрим следующую задачу (близкую к задаче ДЗ). Демонстрационная задача Дз-1:
В хозяйстве сложились пять основных отраслей: производство товарного зерна (X1,га), молочное скотоводство (X2,гол), свиноводство (Х3,гол), кормопроизводство (Х4,га) и производство сахарной свеклы (Х5,га). Урожайность свеклы - 240 ц/га, трудозатраты при ее выращивания - 400 чел.-ч/га, денежные затраты - 500 тыс.руб./га, чистый доход - 0.5 тыс.руб./ц. Другие исходные данные аналогичны данным задачи ДЗ. Цель оптимизации: найти оптимальное сочетание отраслей хозяйства (включая возможное производство сахарной свеклы), обеспечивающее максимум чистого дохода.
Обозначим через Х6 общие денежные расходы хозяйства. Система ограничений и выражение для целевой функции задачи имеет вид:
Ограничение по площади пашни:
Х1 + Х4 + Х5 900 (1)
Ограничение по трудовым ресурсам:
5*Х1 + 50*Х2 + 100*Х3 + 50*Х4 + 400*Х5 40000 (2)
Ограничение по денежным ресурсам:
Х6 90000 (3)
Баланс всех кормов по всем видам животных:
-2,5*X1 + 80*Х2 + 40*Х3 – 50*Х4 1000 (4)
Баланс концентратов по всем видам животных:
-2.5*Х1 + 30*Х2 + 10*Х3 0 (5)
Баланс всех кормов по свиньям:
-2.5*Х1 + 40*Х3 +50*X4 0 (6)
Ограничение по поголовью коров:
Х2 110 (7)
Ограничение по гарантированному производству свинины:
100*Х3 3000 (8)
Уравнение для расчета общих денежных затрат:
70*Х1 + 25*Х2 + 100*Х3 + 300*Х4 + 500*Х5 = Х6 (9)
Целевая функция:
Z = 225*Х1 + 800*Х2 + 100*Х3 + 120*Х5 max, (10)
Условие неотрицательности основных переменных:
Хj
0,
j
=1,…,6.
(11)
Оптимальное решение задачи представлено в таблице 4.
Таблица 4