Введение
Линейное программирование как раздел исследования операций имеет почти сорокалетнюю историю. Внедрение вычислительной техники дало значительный толчок исследованиям в этой области математики. Был разработан ряд алгоритмов решения задач линейного программирования, а в последующие годы были созданы программы и пакеты программ преимущественно для больших ЭВМ. Основная масса литературы по. линейному программированию в нашей стране выпущена в 60 - 70-е годы. Исследования в этой области (как теоретические, так и прикладные) продолжаются и в настоящее время.
Методы линейного программирования оказались весьма эффективными для решения некоторых задач из области исследования операций. Слово "программирование" мы понимаем как планирование, и это определяет характер рассматриваемых приложений. Основные идеи линейного программирования возникли во время второй мировой войны в связи с поиском оптимальных стратегий при ведении военных операций. С тех пор они нашли широкое применение в промышленности, торговле и управлении — как в местных, так и в государственных масштабах. Этими методами можно решить многие (хотя не все) задачи, связанные с эффективным использованием ограниченных ресурсов.
Математические методы и модели хорошо известны, распространены и используются под различными названиями — математические методы в принятии решений; методы исследования операций; экономико-математические методы; методы экономической кибернетики; методы оптимального управления, прикладная математика в экономике и организации производства и пр. Во множестве публикаций на данную тему (более или менее всеохватывающих) они рассматриваются в тех или иных сочетаниях.
Исследование операций — научная дисциплина, занимающаяся разработкой и практическим применением методов наиболее эффективного управления различными организационными системами.
Управление любой системой реализуется как процесс, подчиняющийся определенным закономерностям. Их знание помогает определить условия, необходимые и достаточные для осуществления данного процесса. Для этого все параметры, характеризующие процесс и внешние условия, должны быть количественно определены, измерены. Следовательно, цель исследования операций — количественное обоснование принимаемых решений по организации управления.
Целью всякого моделирования является исследование объекта вначале на качественном, а затем по мере накопления информации и развития модели на все более точных количественных уровнях.
Данные соображения могут быть проиллюстрированы простым примером. Существовал (и существует) метод «теория вероятностей» как широкий класс математических моделей, оперирующих понятиями «вероятность», «случайное событие», «случайная величина», «математические ожидание (среднее значение) случайной величины», «дисперсия (рассеяние)» и т. д. На границе XIX и XX вв. появляется новый объект - коммутируемая система телефонной связи, с которой ассоциируются понятия «заявка на соединение», «отказ», «время ожидания соединения», «коммутация» и другие характеристики системы.
В 20-е гг. А. К. Эрланг соединил эти метод и объект; в результате была создана математическая теоретико-вероятностная модель процессов в коммутируемых телефонных сетях, оперирующая понятиями «поток заявок», «среднее время ожидания», «средняя длина очереди на обслуживание», «дисперсия времени ожидания», «вероятность отказа» и т. д. Дальнейшее развитие этого научного направления показало плодотворность понятийной базы данной модели, ее широкие конструктивные возможности. Модель развилась в метод исследования сложных систем — «теорию массового обслуживания», терминология и понятийная база которого абстрагировались от ассоциаций с телефонными сетями и обрели общетеоретический характер. И теперь новые модели могут строиться путем применения теории массового обслуживания к другим объектам (производственные процессы, операционные системы ЭВМ, транспортные потоки и пр.).
Таким образом, с одной стороны, метод определен, если развита однородная совокупность моделей, т. е. способов рассмотрения различных объектов в одном аспекте, а с другой — объект познается тем глубже, чем больше моделей объекта разработано. При этом двойственная природа модели приводит к дуализму понятийной базы моделирования, включающей общие (от «метода») и специфичные (от «объекта») понятия.
Исследование операций — совокупность прикладных математических методов используемых для решения практических организационных (в том числе экономических) задач. Это - комплексная научная дисциплина. Круг проблем, изучаемых ею, недостаточно определен. Иногда исследование операций понимают очень широко, включая в него ряд чисто математических методов, иногда, наоборот, очень узко — как практическую методику решения с помощью экономико-математических моделей строго определенного перечня задач.
Главный метод исследования операций — системный анализ целенаправленных действий (операций) и объективная (в частности, количественная) сравнительная оценка возможных результатов этих действий.
Среди важнейших классов задач исследования операций можно назвать задачи управления запасами, распределения ресурсов и назначения (распределительные задачи), задачи массового обслуживания, задачи замены оборудования, упорядочения и согласования (в том числе теория расписаний), состязательные (например, игры), задачи поиска и др. Среди применяемых методов — математическое программирование (линейное, нелинейное и т. п.), дифференциальные и разностные уравнения, теории графов, Марковских процессов, теория игр, теория (статистических) решений, теория распознавания образов и ряд других.
Считается, что исследование операций зародилось накануне второй мировой войны, когда в Англии на одной радиолокационной станции была создана группа специалистов для решения технических задач с помощью математики. Они сосредоточили внимание на сравнении эффективности путей решения задач, поиске оптимального решения. Участие в этой группе представителей разных специальностей предопределило комплексный, или, как теперь принято говорить, системный, подход. В настоящее время в этом направлении работают сотни исследовательских учреждений и групп в десятках стран. Организованы общества исследования операций, объединяемые международной федерацией (ИФОРС).
В создание современного математического аппарата и развитие многих направлений исследования операций большой вклад внесли российские ученые Л.В.Канторович, Н.П. Бусленко, Е.С. Вентцель, Н.Н. Воробьев, Н.Н. Моисеев,Д.Б. Юдин и многие другие.
Значительный вклад в формирование и развитие исследования операций внесли зарубежные ученые Р. Акоф, Р. Беллман, Г. Данциг, Г. Кун, Дж. Нейман, Т. Саати, Р. Черчмен, А. Кофман и др.
Методы исследования операций, как и любые математические методы, всегда в той или иной мере упрощают, огрубляют задачу, отражая нелинейные процессы линейными моделями, стохастические системы — детерминированными и т. д. Поэтому не следует ни преувеличивать значения количественных методов исследования операций, ни преуменьшать его, ссылаясь на примеры неудачных решений. Известно парадоксальное определение, которое дал крупный американский специалист в этой области
Т. А. Саати: «Исследование операций представляет собой искусство давать плохие ответы на те практические вопросы, на которые даются еще худшие ответы другими способами».
ЦЕНТРАЛЬНЫЙ МЕЖРЕГИОНАЛЬНЫЙ ТЕХНИКУМ ОТРАСЛЕВЫХ ТЕХНОЛОГИЙ И ПРЕДПРИНИМАТЕЛЬСТВА
Утверждаю
Зам. директора по учебной части
« » 200 г
.
ЗАДАНИЕ
на курсовое проектирование
по предмету «Математические методы»
Студенту: Сергееву Евгению Анатольевичу.
Тема проекта: «Линейное программирование, решение задач симплексным методом».
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
- Введение
- Теоретическая часть
- Практическая часть
Задачи и их решение:
Задача первая:
Решить задачу симплекс методом:
X1
+3X2
≤300
X1
+X2
≤150
X1
≥0
X2
≥0
F = 2X1
+3X2
→ max
3.1.2 Задача вторая:
Предприятие выпускает продукцию двух видов. Виды сырья, его запасы, нормы расхода сырья на у. е. каждого вида продукции, прибыль производства от реализации продукции даны в таблице:
Виды сырья
|
Расход сырья на продукцию
|
Запасы сырья
|
1
|
2
|
1
|
1
|
3
|
20
|
2
|
2
|
1
|
10
|
3
|
2
|
2
|
17
|
Прибыль
|
2
|
1
|
Как следует спланировать выпуск продукции, чтобы прибыль была наибольшей?
3.1.3. Задача третья:
На предприятии выпускают 3 вида изделий, при этом используют 3 вида сырья. Запасы сырья, нормы его расхода и прибыль от реализации каждого продукта приведены в таблице:
Виды сырья
|
Расход сырья на продукцию
|
Запасы сырья
|
1
|
2
|
3
|
1
|
2
|
3
|
7
|
1250
|
2
|
1
|
1
|
0
|
250
|
3
|
5
|
3
|
0
|
900
|
Прибыль
|
41
|
35
|
96
|
Как следует спланировать выпуск продукции, чтобы прибыль была наибольшей?
3.1.4. Задача четвертая:
Для изготовления 4 видов продукции используются 3 вида сырья. Запасы сырья, нормы его расхода и прибыль от реализации каждого продукта приведены в таблице:
Виды сырья
|
Расход сырья на продукцию
|
Запасы сырья
|
1
|
2
|
3
|
4
|
1
|
2
|
3
|
3
|
1
|
20
|
2
|
1
|
1
|
2
|
2
|
11
|
3
|
1
|
2
|
3
|
1
|
25
|
Прибыль
|
2
|
4
|
3
|
2
|
Как следует спланировать выпуск продукции, чтобы прибыль была наибольшей?
3.
Заключение
4.
Список литературы
Председатель цикловой комиссии
/Баранов В.А.
Руководитель курсового проекта
/Карпушкин А.Г.
Дата выдачи задания: Срок окончания:
« » 2007 г. « » 2007 г.
СИМПЛЕКСНЫЙ МЕТОД
Впервые симплексный метод был предложен американским ученым Дж. Данцигом в 1949 г., однако, еще в 1939 г. идеи метода были разработаны российским ученым
Л В.Канторовичем.
Симплексный метод, позволяющий решить любую задачу линейного программирования, универсален. В настоящее время он используется для компьютерных расчетов, однако несложные примеры с применением симплексного метода можно решать и вручную.
Для реализации симплексного метода — последовательного улучшения решения — необходимо освоить три основных
элемента:
• способ определения какого-либо первоначального допустимого
базисного решения задачи;
• правило перехода к лучшему (точнее, не худшему) решению;
• критерий проверки оптимальности найденного решения.
Для использования симплексного метода задача линейного программирования должна быть приведена к каноническому виду, т.е. система ограничений должна быть представлена в виде уравнений.
Обыкновенные жордановы исключения
Рассмотрим систему из m линейных уравнений с n неизвестными
a11
x1
+ a12
x2
+ … + a1n
xn
= b1,
……………
am1
x1
+ am2
x2
+ … + amn
xn
= bm
.
Запишем эту систему в виде таблицы
|
x1
|
xj
|
xn
|
b1
=
|
a11
… a1j
… a1n
|
………………..
|
bi
=
|
ai1
… aij
… ain
|
………………..
|
bm
=
|
am1
… amj
… amn
|
Шагом обыкновенного жорданова исключения (ОЖИ), произведенным над данной таблицей с разрешающим элементом aij
≠ 0 с I разрешающей строкой и j разрешающим столбцом, назовем операцию решения уравнения
bi
= ai
1
x1
+ ai
2
x2
+ … + aij
xj
+ … + ain
xn
относительно xj
, подстановки этого решения в исходную систему и записи вновь полученной системы в виде новой таблицы.
Нетрудно проверить, что новая таблица будет иметь вид
|
x1
|
x2
…
|
bi
…
|
xn
|
b1
=
|
b11
b12
… a1j
… b1n
|
b2
=
|
b21
b22
… a2j
… b2n
|
…
|
………………..
|
xj
|
-ai
1
–ai
2
… 1 ... -ain
|
…
|
………………..
|
bm
=
|
bm1
bm2
… amj
… bmn
|
: aij
,
где brs
= ars
aij
- arj
ais
(i ≠ r, j ≠ s),
причем все элементы таблицы нужно разделить на aij
.
Таким образом, один шаг жорданова исключения (ШЖИ) переводит исходную таблицу в новую по схеме, состоящей из следующих 5 правил:
1) разрешающий элемент заменяется единицей
2) остальные элементы разрешающего столбца j остаются без изменения.
3) остальные элементы разрешающей строки i меняют лишь свои знаки.
4) остальные элементы brs
вычисляются по формуле brs
= ars
aij
- arj
ais
5) все элементы новой таблицы делятся на разрешающий элемент aij
.
Пример 1. Для таблицы
|
X1
|
X2
|
X3
|
Y1
=
|
1
|
-2
|
3
|
Y2
=
|
-1
|
1
|
2
|
Y3
=
|
2
|
-1
|
-1
|
один шаг жорданова исключения с разрешающими 2-й строкой и 3-м столбцом приводим к таблице
|
X1
|
X2
|
Y2
|
Y1
=
|
5
|
-7
|
3
|
X3
=
|
1
|
-1
|
1
|
Y3
=
|
3
|
-1
|
-1
|
: 2
Жордановы исключения позволяют от случайно взятой декартовой системы координатных плоскостей перейти к новой системе, в которой координатами точек являются их уклонения от более интересной для той или другой задачи системы плоскостей.
Модифицированные жордановы исключения
Если исходную систему уравнений ai
1
x1
+ ai
2
x2
+ … + ain
xn
= bi,
где i = 1,m,
записать в виде –ai
1
(-x1
) – ai
2
(-x2
) - … - ain
(-xn
) = bi
и составить таблицу
|
-X1
|
-X2
|
…-Xn
|
b1
=
|
–a11
|
–a12
|
… –a1
n
|
….
|
…………..
|
bm
=
|
–am
1
|
–am2
|
… –amn
|
то в этих случаях вместо ОЖИ пользуются МЖИ.
Один шаг МЖИ с разрешающим элементом “-ars
”, означает переход к новой таблице
-X1
…
|
-Yr
…
|
-Xn
|
b1
=
|
b11
...
|
a1
s
…
|
b1
n
|
….
|
…………………….
|
xs
=
|
-ar
1
…
|
1 …
|
-ar
n
|
….
|
…………………….
|
bm
=
|
bm
1
…
|
ams
…
|
bmn
|
: (-ars
)
которая получается по правилам 1 – 5 ОЖИ с тем лишь изменением, что правила 2 и 3 меняются ролями:
1) остальные элементы разрешающей строки остаются без изменения
2) остальные элементы разрешающего столбца меняют лишь свои знаки
Рассмотрим систему
2X1
+ 3X2
– 5X3
= 16 = b1
,
3X1
- 2X2
+ 4X3
= 36 = b2
,
5X1
+ 7X2
– 11X3
= 44 = b3
.
Запишем ее в виде таблицы
|
-x1
|
-x2
|
-x3
|
b1
=
|
-2
|
-3
|
5
|
b2
=
|
-3
|
2
|
-4
|
b3
=
|
-5
|
-7
|
11
|
и произведем один шаг МЖИ с разрешающим элементом “2”
|
-x1
|
-b2
|
-x3
|
b1
=
|
-13
|
3
|
-2
|
x2
=
|
-3
|
1
|
-4
|
b3
=
|
-31
|
7
|
-6
|
: 2
Экстремумы линейной функции
Пусть рассматривается общая задача линейного программирования. В основе вычислительных методов ЛП лежит следующая фундаментальная теорема.
Теорема. Если задача линейного программирования имеет оптимальное решение
(в ограниченной области всегда, а в неограниченной области в зависимости от ограниченности функции Z), то оно совпадает по крайней мере с одним из опорных решений системы ограничительных уравнений.
Согласно этой теореме вместо исследования бесконечного множества допустимых решений с целью нахождения среди них искомого оптимального решения, необходимо исследовать лишь конечное число опорных решений.
Данная теорема утверждает, что существует по крайней мере одно опорное оптимальное решение, однако, в задачах могут встретиться несколько опорных оптимальных решений (альтернативный оптимум).
Следовательно, принципиальная схема решения задач линейного программирования следующая:
1. С помощью ЖИ найдем все опорные решения системы.
a11
x1
+ a12
x2
+ … + a1n
xn
= b1
,
……...................
ak1
x1
+ ak2
x2
+ … + akn
xn
= bk
,
ak+1,1
x1
+ ak+1,2
x2
+ … + ak+1n
xn
≤ bk+1
,
……...................
am1
x1
+ am2
x2
+ … + amn
xn
≤ bm
.
2. Вычислим для каждого из них значение функции Z, определяемое соотношением.
Z = c1
x1
+ c2
x2
+ … + cn
xn
.
3. Выберем из них экстремальное Z.
Следует отметить, что может оказаться очень большое число опорных решений, поэтому нужно производить упорядоченный перебор опорных решений, добиваясь на
каждом шаге монотонного изменения функции Z.
Такая идея последовательного улучшения решения и заложена в основном вычислительном методе решения задач линейного программирования, получившим название симплексного метода.
Симплексный метод на основе полных таблиц
Постановка задачи об определении оптимального ассортимента продукции
Предприятие может производить два вида изделий А и В, располагая для их изготовления ограниченными ресурсами материала чугуна и стали соответственно в количествах 350 и 392 кг и оборудования в количестве 408 станко-часов. Данные, представленные в виде таблицы, характеризуют затраты каждого из перечисленных трех видов ресурсов на изготовление одного изделия А и В.
Требуется определить сколько изделий А и В должно производить предприятие, чтобы достичь наибольшей прибыли.
Виды ресурсов
|
Объем ресурсов
|
Затраты на одно изделие
|
А
|
В
|
Чугун
|
350
|
14
|
5
|
Сталь
|
392
|
14
|
8
|
Оборудование
|
408
|
6
|
12
|
Прибыль в руб.
|
10
|
5
|
Введем искомые неизвестные Х1
и X2
, обозначающие число изделий А и В, которые должно производить предприятие.
Тогда математически задачу можно сформулировать следующим образом.
Среди множества неотрицательных решений системы неравенств
14X1
+ 5Х2
≤ 350, (1.1)
14Х1
+ 8Х2
≤ 392,
6Х1
+ 12Х2
≤ 408,
найти такое решение, для которого функция
Z = 10 Х1
+ 5 Х2
достигает наибольшего значения.
Геометрическое решение задачи
Прежде всего, построим область допустимых решений, соответствующую системе неравенств.
Для этого, заменив каждое из неравенств равенством
14Х1
+ 5Х2
= 350, (1-я прямая),
14X1
+ 8Х2
= 392, (2-я прямая),
6Х1
+ 12Х2
= 408, (3-я прямая),
строим граничную линию. Учитывая, что Х1
≥ 0 и Х2
≥ 0, получаем заштрихованную часть плоскости, образующую многоугольник решений OABCD (рис.1).
Затем строим линию уровня 10Х1
+ 5Х2
= 0 и вектор (10;5), которые взаимно перпендикулярны. Нетрудно показать, что вектор дает направление наибольшего возрастания линейной функции.
Действительно
Z0
= 10X10
+ 5Х20
= 10 * 0 + 5 * 0 = 0,
ZА
= 10X1
A
+ 5Х2
A
= 10 * 0 + 5 * 34 = 170,
ZD
= 10X1
D
+ 5X2
D
= 10 * 25 + 5 * 0 = 250 и т. д.
Из всех линий уровня выбираем две, из которых одна проходит через точку 0 и дает min значение функции Z, а другая проходит через точку С и функция Z для нее принимает mах значение. Эти линии уровня называются опорными.
Рис. 1
Точка C образована первой и второй прямыми. Следовательно, решая систему уравнений
14Хl
+ 5Х2
= 350,
14Х1
+ 8Х2
= 392,
найдем координаты точки C
Х1
= 20, Х2
= 14,
при этом Zmax
= 10 * 20 + 5 * 14 = 270 руб.
Таким образом, mах прибыль в 270 руб. будет получена, если предприятие произведет 20 изделий вида А и 14 изделий вида В.
Отыскание максимума линейной функции
В основе симплексного метода решения задач линейного программирования лежит с некоторыми дополнениями разобранный ранее метод последовательных исключений, представляющий собой совокупность удобных вычислительных алгоритмов, построенных на последовательном применении тождественных (симплексных) преобразований системы уравнений.
Добавляя к левой части неравенств
14X1
+ 5Х2
≤ 350,
14Х1
+ 8Х2
≤ 392,
6Х1
+ 12Х2
≤ 408,
некоторую неотрицательную величину Yj
≥ 0 (i = 1, 2, 3), (1.2)
называемую выравнивающей или базисной переменной, превратим их в уравнения:
|
14
|
Х1
+ 5Х2
+ У1
|
= 350,
|
14
|
Х1
+ 8Х2
|
+ У2
|
= 392,
|
6
|
X1
+ 12Х2
|
+ У3
|
= 408,
|
-10
|
X1
- 5Х2
|
+ Z = 0.
|
(1.3)
При этом можно показать, что каждому решению системы неравенств (1.1) соответствует единственное решение системы уравнений (1.3) и неравенств (1.2) и наоборот.
Каждая из переменных Y1,
У2
, У3
входит только в одно уравнение и зависит от переменных Х1
и X2
, которые мы называем свободными.
Системе (1.3) соответствует исходное допустимое базисное решение X1
= X2
= 0;
Y1
= 350; Y2
= 392; Y3
= 408 и Z = 0.
Выполняем первое тождественное преобразование системы уравнений (1.3). Выбираем разрешающий столбец, соответствующий наименьшему отрицательному элементу в Z строке, ибо теоретически установлено, что при этом можно ожидать при прочих равных условиях большего увеличения функции Z. Правую часть уравнений делим на элементы разрешающего столбца и выбираем наименьшее положительное отношение, соответствующее разрешающей строке (уравнению). На пересечении выделенных столбца и строки стоит разрешающее число.
Первое уравнение делим на разрешающее число и выписываем получившееся уравнение. Умножая это уравнение на 14, 6 и -10 и вычитая соответственно из 2-го, 3-го и 4-го уравнений системы (1.3), придем к следующей системе (1.4):
X1
+
|
5/14
|
X2
+ 1/4 Y1
= 25,
|
3
|
Х2
– Y1
+ Y2
|
= 42,
|
138/14
|
X2
– 6/14 Y1
+ У3
|
= 258,
|
-20/14
|
X2
+ 10/14 Y1
|
+ Z = 250.
|
(1.4)
Подобное тождественное преобразование, при котором выбор разрешающего числа производится по указанному правилу, будем называть симплексным преобразованием.
Таким образом, симплексное преобразование выполняется по следующему правилу:
1. Выбирается разрешающий столбец, соответствующий наименьшему отрицательному элементу в Z - строке.
2. Выбирается разрешающая строка, которая соответствует наименьшему положительному из отношений элементов правой части уравнений на соответствующие элементы разрешающего столбца. На пересечении разрешающего столбца и разрешающей строки стоит разрешающее число.
3. Элементы разрешающей строки делятся на разрешающее число.
4. Вычисляются элементы всех остальных строк по формуле:
Новые эл-ты
|
=
|
Старые эл-ты
|
_
|
соответствующее число в разрешающей строке
|
*
|
соответствующее число в разрешающем столбце
|
разрешающее число
|
Из системы (1.4) находим второе допустимое базисное решение Х2
= Yl
= 0; X1
= 25; Y2
= 42; Y3
= 258, которому соответствует новое увеличенное значение функции Z = 250.
Таким образом, процесс последовательных симплексных преобразований является процессом последовательного улучшения решения. При этом:
1. Если в Z - строке найдется хотя бы один отрицательный элемент и
а) в разрешающем столбце найдется хотя бы один положительный элемент, то можно улучшить решение;
б) если же разрешающий столбец не содержит положительных элементов, то функция Z неограниченно возрастает.
2. Если все элементы в Z - строке неотрицательны, то достигнуто оптимальное решение.
Это и есть достаточные условия существования оптимального плана решения.
В системе (1.4) коэффициент при Х2
в Z - строке отрицательный, поэтому второй столбец будет разрешающим. Находим, что вторая строка будет разрешающей. Далее производим симплексное преобразование системы (1.4) согласном указанному правилу:
X1
+ 8/42 Y1
– 5/42 Y2
= 20,
X2
– 1/3 Y1
+ 1/3 Y2
= 14,
20/7 Y1
– 23/7 Y2
+ Y3
= 120,
10/42 Y1
+ 20/42 Y2
+ Z = 270, (1.5)
Так как в Z - строке все элементы неотрицательны, то данный план является оптимальным. При этом Yl
= Y2
= 0; X1
= 20; Х2
= 14 и Zmax
= 270.
Выполнение симплексных преобразований связано с кропотливыми и часто довольно громоздкими вычислениями. Эти вычисления можно в значительной степени упростить, используя для решения задач так называемые симплексные таблицы.
Каждое симплексное преобразование системы сводится к переходу от одной симплексной таблицы к другой.
Соответственно исходной системе уравнений (1.3) составляем первую симплекс-таблицу (табл. 1.1).
X1
|
X2
|
Y1
|
Y2
|
Y3
|
контр. столбец
|
Y1
|
350
|
14
|
5
|
1
|
0
|
0
|
370
|
Y2
|
392
|
14
|
8
|
0
|
1
|
0
|
415
|
Y3
|
408
|
6
|
12
|
0
|
0
|
1
|
427
|
Z
|
0
|
-10
|
-5
|
0
|
0
|
0
|
-15
|
Таблица 1.1
Первый столбец - это столбец базисных переменных, во втором столбце стоят свободные коэффициенты правой части уравнений (1.3), в первой строке располагаются все переменные, последний столбец - это контрольный столбец и коэффициенты в нем равны сумме всех коэффициентов по строке.
Из табл. 1.1 имеем первое допустимое решение системы (1.3) Х1
= Х2
= 0, Y1
= 350,
Y2
= 392, Y3
= 408, Z = 0, которое соответствует вершине О (0,0) многоугольника допустимых решений OABCD (рис.1).
Переход ко второй симплекс-таблице (табл. 1.2) выполняется согласно указанному в этом пункте правилу для симплексных преобразований систем уравнений, при этом разрешающая переменная Х1
идет в базис вместо разрешающей переменной Y1
Получаем табл. 1.2.
X1
|
X2
|
Y1
|
Y2
|
Y3
|
контр. столбец
|
X1
|
25
|
1
|
5/14
|
1/14
|
0
|
0
|
370/14
|
Y2
|
42
|
0
|
3
|
-1
|
1
|
0
|
45
|
Y3
|
258
|
0
|
138/14
|
-6/14
|
0
|
1
|
3758/14
|
Z
|
250
|
0
|
-20/14
|
10/14
|
0
|
0
|
3490/14
|
Таблица 1.2
После заполнения табл. 1.2 следует проверить правильность ее заполнения, для чего суммируем коэффициент по строкам и эта сумма должна быть равна коэффициентам, стоящим в соответствующих клетках контрольного столбца. Из табл. 1.2 второе допустимое решение будет Х1
= 25, Х2
= 0, Y1
= 0, Y2
= 42, Y3
= 258 и Z = 250.
Нетрудно видеть, что эта таблица соответствует системе (1.4), а опорное решение
Х1
= 25, Х2
= 0 соответствует вершине D(25,0) многоугольника решений.
Так как в Z - строке имеется отрицательный элемент, то улучшаем решение, для чего составляем симплексную табл. 1.3.
X1
|
X2
|
Y1
|
Y2
|
Y3
|
контр. столбец
|
X1
|
20
|
1
|
0
|
4/21
|
-5/42
|
0
|
295/14
|
X2
|
14
|
0
|
1
|
-1/3
|
1/3
|
0
|
15
|
Y3
|
120
|
0
|
0
|
20/7
|
-23/7
|
1
|
844/7
|
Z
|
270
|
0
|
0
|
5/21
|
10/21
|
0
|
1895/7
|
Таблица 1.
3
* Примечание. Для простоты вычислений следует помнить, что в новой таблице на месте элементов разрешающего столбца (кроме разрешающего элемента) стоят нули. Если в разрешающей строке стоят нули, то в новую таблицу соответствующие столбцы переносятся без изменения:
Так как в Z - строке нет отрицательных элементов, то данное решение будет оптимальным.
Табл. 1.3 соответствует системе уравнений (1.5) и оптимальному решению Х1
= 20,
Х2
= 14 и Zmax
= 270 и вершине С (20,14) многоугольника допустимых решений OABCD.
Подобные удлиненные таблицы, содержащие в первой строке все переменные, благодаря наличию контрольного столбца позволяют контролировать правильность заполнения таблиц и избежать арифметических ошибок.
Симплексный метод на основе укороченных таблиц
Рассмотрим систему уравнений (1.3) и запишем ее в виде таблицы 1.4
СП
БП
|
1
|
X1
|
X2
|
Y1
|
350
|
14
|
5
|
Y2
|
392
|
14
|
8
|
Y3
|
408
|
6
|
12
|
Z
|
0
|
-10
|
-5
|
Таблица 1.4
В первый столбец записываем базисные переменные (БП), а в первую строку – свободные переменные (СП). Далее переход к новой таблице 1.5 совершаем по правилу:
1) меняем местами СП и БП
2) на месте разрешающего элемента стоит величина ему обратная
3) элементы разрешающей стоки делим на разрешающее число
4) элементы разрешающего столбца делим на разрешающее чисто и меняем знак
5) остальные элементы находятся как в главе “Отыскание максимума линейной функции” правило 4 (правило прямоугольников для ОЖИ). Получаем таблицу 1.5.
СП
БП
|
1
|
Y1
|
X2
|
X1
|
25
|
1/14
|
5/14
|
Y2
|
42
|
-1
|
3
|
Y3
|
258
|
-6/14
|
138/14
|
Z
|
250
|
10/14
|
-20/14
|
Таблица 1.5
Улучшаем этот опорный план, производя симплексное преобразование с разрешающим элементом “3” (табл. 1.6).
СП
БП
|
1
|
Y1
|
Y2
|
X1
|
20
|
4/21
|
-5/42
|
X2
|
14
|
-1/3
|
1/3
|
Y3
|
120
|
20/7
|
-23/7
|
Z
|
270
|
5/21
|
10/21
|
Таблица 1.6
Получили оптимальный план Zmax
= 270 при X1
=20, X2
= 14, а ресурсы оборудования оказались в избытке в количестве 120 станко–часов.
Решение задачи линейного программирования
Найти максимум целевой функции
F = 10x + 5y
при ограничениях
14x + 5y ≤ 350
7x + 4y ≤ 196
x + 2y ≤ 68
Решение задачи с использованием программы
Microsoft
Excel.
Отведем А3 и B3 под значения переменных x и y.
В ячейку C4 введем функцию цели
= 10*A3 + 5*B3
В ячейки A7:A9 введем левые части ограничений
= 14*A3 + 5*B3
= 7*A3 + 4*B3
= A3 + 2*B3
а в ячейки B7:B9 – правые части ограничений.
После этого выберем команду Сервис
, Поиск решения
(Tools, Solver) и заполним открывшееся диалоговое окно Поиск решения (
Solver) как показано на рис. 2. После нажатия кнопки Выполнить
(Solve) открывается окно Результаты поиска решения
(Solver Results), которое сообщает, что решение найдено (рис. 3).
Рис. 2.
Поиск решения
Рис. 3. Результаты поиска решения
Геометрическое решение задачи с применением программы
MATHCAD 2000.
- Установите режим автоматических вычислений.
- Запишите в виде y = kx + b уравнения прямых, ограничивающих область допустимых значений переменных. Для того чтобы ввести и разрешить относительно y ограничение 14x + 5y ≤ 350, введите левую часть неравенства, нажмите кнопку Ctrl и нажмите одновременно кнопку =, удерживая предыдущую до тех пор пока выскочит жирный знак =, пометьте выделяющей рамкой переменную y, щелкните в меню Symbolic (Символы) по строке Solve (Вычислить) – результат вычислений будет выведен в рабочем документе справа от уравнения; введите имя функции (в рассматриваемом примере y1(x)) и присвойте ей полученное выражение. Таким образом, определено уравнение одной из прямых, ограничивающих область допустимых значений. Аналогично введите остальные ограничения. Введите уравнение 10x + 5y = C линии уровня (опорная прямая) целевой функции. Действуйте так же, как и при вводе ограничений, но перед тем как разрешить уравнение относительно y, присвойте какое-нибудь значение константе C.
- Изобразите на графике соответствующие прямые и определите область допустимых решений системы.
- Изменяя значения константы C, например C = 100,150,200,250,..., наблюдайте за движением опорной прямой и сформулируйте вывод о разрешимости задачи.
- Если задача имеет единственное решение, найдите вершину, в которой Z = Zmax
. В нашем примере максимум целевой функции достигается в точке пересечения прямых 14x + 5y = 350 и 7x + 14y = 196. Найдите координаты точки, используя функцию Find.
- Вычислите значение целевой функции в найденной точке.
14x + 5y = 350 (-14/5)x + 70 y1(x):= (-14/5)x + 70
7x + 4y = 196 (-7/4)x + 49 y2(x):= (-7/4)x + 49
x + 2y = 68 (-1/2)x + 34 y3(x):= (-1/2)x + 34
10x + 5y = C -2x + (1/5)C y4(x):= -2x + (1/5)C
C:= 100;
Рис. 4.
Данным
14x + 5x = 360
7x + 4y = 196
Найти (x, y) → (20, 14)
f(x, y): = 10x + 5y
fmin: = f(20, 14)
fmin: = 270
Аналитическое решение задачи с применением программы
MATHCAD 2000.
Аналитическое решение задачи в MathCAD значительно проще.
- Установите режим автоматических вычислений.
- Запишите задачу произвольным x и y присвойте произвольные (допустимые) значения, чтобы программа могла начать счет.
Z(x, y): = 10x + 5y
X: = 1y: = 1
Данным
14x + 5x ≤ 360
7x + 4y ≤ 196
x + 2y ≤ 68
M: = Максимизировать (z, x, y) M = (20, 14) Z (M0
, M1
) = 270
Задача максимизации линейной функции при наличии отрицательных свободных коэффициентов
Найти максимум линейной функции
Z = X1
+ X2
при ограничениях
X1
– X2
≤ 3,
X1
+ X2
≥ 5,
2X1
– 3X2
≤ 6,
X2
≤ 6,
X1
≥ 0, X2
≥ 0.
Запишем систему в виде
Y1
= -X1
+ X2
+ 3 ≥ 0
Y2
= X1
+ X2
- 5 ≥ 0
Y3
= -2X1
+ 3X2
+ 6 ≥ 0
Y4
= -X2
+ 6 ≥ 0
Составим таблицу.
-X1
|
-X2
|
1
|
Y1
|
1
|
-1
|
3
|
Y2
|
-1
|
-1
|
-5
|
Y3
|
2
|
-3
|
6
|
Y4
|
0
|
1
|
6
|
Z
|
-1
|
-1
|
0
|
В столбце имеется отрицательный элемент “-5”, его надо убрать, чтобы на этом месте был положительный элемент. Совершаем ШМЖИ с разрешающим элементом 1. Получаем таблицу.
-Y1
|
-X2
|
1
|
X1
|
1
|
-1
|
3
|
Y2
|
1
|
-2
|
-2
|
Y3
|
-2
|
-1
|
0
|
Y4
|
0
|
1
|
6
|
Z
|
1
|
-2
|
3
|
Продолжаем работать со 2-й строкой, так как отрицательный элемент не пропал. Совершаем ШМЖИ с разрешающим элементом -2. Получаем таблицу.
-Y1
|
-Y2
|
1
|
X1
|
1/2
|
-1/2
|
4
|
X2
|
-1/2
|
-1/2
|
1
|
Y3
|
-5/2
|
-1/2
|
1
|
Y4
|
1/2
|
1/2
|
5
|
Z
|
0
|
-1
|
5
|
Все свободные переменные положительные, находим опорное решение, полагая
Y1
= Y2
= 0, X1
= 4, X2
= 1, Y3
= 1, Y4
= 5. Так как план не оптимальный, то совершаем ШМЖИ с разрешающим элементом 1/2. Получаем таблицу, из которой имеем оптимальное решение X1
= 9, X2
= 6 и Zmax
= 15.
-Y1
|
-Y4
|
1
|
X1
|
1
|
1
|
9
|
X2
|
0
|
1
|
6
|
Y3
|
-2
|
1
|
6
|
Y2
|
1
|
2
|
10
|
Z
|
1
|
2
|
15
|
Задача минимизации линейной функции
Сведение задачи минимизации к задаче максимизации линейной функции
Мы рассматривали решение симплекс-методом задачи отыскания максимума линейной функции
W = c1
x1
+ c2
x2
+ … + cn
xn
.
Однако во многих экономических задачах требуется найти минимум линейной функции. Для этого достаточно положить
W = -Z = -c1
x1
– c2
x2
- … - cn
xn
и решать задачу максимизации полученной функции W при соответствующих ограничениях. Так как ясно, что
min Z = -max W.
Минимизировать линейную функцию
Z = -2X1
+ 5X2
при выполнении ограничений
7X1
+ 2X2
≥ 14,
5X1
+ 6X2
≤ 30,
3X1
+ 8X2
≥ 24,
X1
≥ 0, X2
≥ 0.
Геометрическое решение задачи на (рис. 5) и ему отвечает оптимальное решение в точке
С (48/11, 15/11) и при этом Zmin
= -21/11.
Рис 5. Геометрическое решение задачи
Вводя выравнивающие переменные Yi
≥ 0 и функцию W = -Z = 2X1
- 5X2
→ max, задачу запишем в виде.
Y1
= 7X1
+ 2X2
- 14,
Y2
= -5X1
- 6X2
+ 30,
Y3
= 3X1
+ 8X2
- 24,
W = 2X1
- 5X2
.
Записываем эту систему в виде таблицы.
-X1
|
-X2
|
1
|
Y1
|
-7
|
-2
|
-14
|
Y2
|
5
|
6
|
30
|
Y3
|
-3
|
-8
|
-24
|
W
|
2
|
5
|
0
|
Так как имеются отрицательные свободные члены, то от них избавляемся. Выбираем наименьший отрицательный член в Y3
– строке и в этой строке берем отрицательный элемент “-8”, который соответствует разрешающему столбцу. Свободные члены делим на соответствующие элементы разрешающего столбца и выбираем наименьшее положительное отношение, тогда Y3
– строка разрешающая. Производя ШМЖИ с разрешающим элементом “-8”, получаем таблицу.
-X1
|
-Y3
|
1
|
Y1
|
-50/8
|
-2/8
|
-8
|
Y2
|
22/8
|
6/8
|
12
|
X2
|
3/8
|
-1/8
|
3
|
W
|
-31/8
|
5/8
|
-15
|
Избавляемся от отрицательного свободного члена в Y1
– строке, совершая ШМЖИ с разрешающим элементом “-50/8”, получаем таблицу.
-Y1
|
-Y3
|
1
|
X1
|
-8/50
|
2/50
|
64/50
|
Y2
|
22/50
|
32/50
|
424/50
|
X2
|
3/50
|
-7/50
|
126/50
|
W
|
-31/50
|
39/50
|
-502/50
|
Так как все свободные члены в 1 – столбце неотрицательные, то выбираем разрешающий элемент как в МЖИ для задачи на max. Совершаем ШМЖИ с разрешающим элементом “22/50”, получаем таблицу.
|
-Y2
|
-Y3
|
1
|
X1
|
4/11
|
3/11
|
48/11
|
Y1
|
25/11
|
16/11
|
212/11
|
X2
|
-3/22
|
-5/22
|
15/11
|
W
|
31/22
|
37/22
|
21/11
|
Так как в W – строке и в 1 – столбце нет отрицательных элементов, то получили оптимальное решение X1
= 48/11, X2
= 15/11, Wmax
– 21/11 или Zmin
= –Wmax
= -21/11,
Практическая часть
1.
Решить задачу симплекс методом.
X1
+ 3X2
≤ 300 F = 2X1
+ 3X2
→ max
X1
+ X2
≤ 150
X1
≥ 0
X2
≥ 0
Решение
X1
+ 3X2
+ X3
= 300 F - 2X1
- 3X2
= 0
X1
+ X2
+ X4
= 150
Б
|
С.Ч
|
X1
|
X2
|
X3
|
X4
|
X3
|
300
|
1
|
3
|
1
|
0
|
X4
|
150
|
1
|
1
|
0
|
1
|
F
|
0
|
-2
|
-3
|
0
|
0
|
Б
|
С.Ч
|
X1
|
X2
|
X3
|
X4
|
X2
|
100
|
1/3
|
1
|
1/3
|
0
|
X4
|
50
|
2/3
|
0
|
1/3
|
1
|
F
|
300
|
-1
|
0
|
1
|
0
|
(-1) (3)
Б
|
С.Ч
|
X1
|
X2
|
X3
|
X4
|
X2
|
75
|
0
|
1
|
1/2
|
-1/2
|
X1
|
75
|
1
|
0
|
-1/2
|
3/2
|
F
|
375
|
0
|
0
|
1/2
|
3/2
|
(-1/3) (1)
Ответ: X1
= 75; X2
= 75; X3
= 0; X4
= 0.
Задача №1.
Предприятие выпускает продукцию двух видов. Виды сырья, его запасы, нормы расхода сырья на у.е. каждого вида продукции, прибыль производства от реализации продукции даны в таблице.
Как следует спланировать выпуск продукции, чтобы прибыль предприятия была наибольшей?
Решение
X1
+ 3X2
≤ 20 F = 2X1
+ X2
→ max
2X1
+ X2
≤ 10
2X1
+ 2X2
≤ 17
X1
+ 3X2
+ X3
= 20 F - 2X1
- X2
= 0
2X1
+ X2
+ X4
= 10
2X1
+ 2X2
+ X5
=17
Б
|
С.Ч
|
X1
|
X2
|
X3
|
X4
|
X5
|
X3
|
20
|
1
|
3
|
1
|
0
|
0
|
X4
|
10
|
2
|
1
|
0
|
1
|
0
|
X5
|
17
|
2
|
2
|
0
|
0
|
1
|
F
|
0
|
-2
|
-1
|
0
|
0
|
0
|
Б
|
С.Ч
|
X1
|
X2
|
X3
|
X4
|
X5
|
X3
|
15
|
0
|
5/2
|
1
|
-1/2
|
0
|
X1
|
5
|
1
|
1/2
|
0
|
1/2
|
0
|
X5
|
7
|
0
|
1
|
0
|
-1
|
1
|
F
|
10
|
0
|
0
|
0
|
1
|
0
|
(-1)(-2)(2)
Ответ: X1
= 5; X2
= 0; X3
= 15; X4
= 0; X5
= 7.
Задача №2.
На предприятии выпускается три вида изделий, при этом используется три вида сырья. Запасы сырья, нормы его расхода и прибыль от реализации каждого продукта приведены в таблице.
Как следует спланировать выпуск продукции, чтобы прибыль предприятия была наибольшей?
Решение
2X1
+ 3X2
+ 7X3
≤ 1250 F = 41X1
+ 35X2
+ 96X3
→ max
X1
+ X2
≤ 250
5X1
+ 3X2
≤ 900
2X1
+ 3X2
+ 7X3
+ X4
= 1250 F - 41X1
- 35X2
- 96X3
= 0
X1
+X2
+ X5
= 250
5X1
+3X2
+ X6
= 900
Б
|
С.Ч
|
X1
|
X2
|
X3
|
X4
|
X5
|
X6
|
X4
|
1250
|
2
|
3
|
7
|
1
|
0
|
0
|
X5
|
250
|
1
|
1
|
0
|
0
|
1
|
0
|
X6
|
900
|
5
|
3
|
0
|
0
|
0
|
1
|
F
|
0
|
-41
|
-35
|
-96
|
0
|
0
|
0
|
Б
|
С.Ч
|
X1
|
X2
|
X3
|
X4
|
X5
|
X6
|
X3
|
1250/7
|
2/7
|
3/7
|
1
|
1/7
|
0
|
0
|
X5
|
250
|
1
|
1
|
0
|
0
|
1
|
0
|
X6
|
900
|
5
|
3
|
0
|
0
|
0
|
1
|
F
|
120000/7
|
-95/7
|
43/7
|
0
|
96/7
|
0
|
0
|
(96)
Б
|
С.Ч
|
X1
|
X2
|
X3
|
X4
|
X5
|
X6
|
X3
|
890/7
|
0
|
9/35
|
1
|
1/7
|
2/7
|
-2/35
|
X5
|
70
|
0
|
2/5
|
0
|
0
|
1
|
-1/5
|
X1
|
180
|
1
|
3/5
|
0
|
0
|
0
|
1/5
|
F
|
137100/7
|
0
|
100/7
|
0
|
96/7
|
0
|
19/7
|
Ответ: X1
= 180; X2
= 0; X3
= 890/7; X4
= 0; X5
= 70; X6
= 0.
Задача №3.
Для изготовления четырех видов продукции используется три вида сырья.
Запасы сырья, нормы его расхода и прибыль от реализации каждого продукта приведены в таблице.
Как следует спланировать выпуск продукции, чтобы прибыль предприятия была наибольшей?
Решение
2X1
+ 3X2
+ 3X3
+ X4
≤ 20 F = 2X1
+ 4X2
+ 3X3
+ 2X4
→ max
X1
+ X2
+ 2X3
+ 2X4
≤ 11
X1
+ 2X2
+ 3X3
+ X4
≤ 25
2X1
+ 3X2
+ 3X3
+ X4
+ X5
= 20 F - 2X1
- 4X2
- 3X3
- 2X4
= 0
X1
+ X2
+ 2X3
+ 2X4
+ X6
= 11
X1
+ 2X2
+ 3X3
+ X4
+ X7
= 25
X1
+ 3X2
≤ 20 F = 2X1
+ X2
→ max
2X1
+ X2
≤ 10
2X1
+ 2X2
≤ 17
Б
|
С.Ч
|
X1
|
X2
|
X3
|
X4
|
X5
|
X6
|
X7
|
X5
|
20
|
2
|
3
|
3
|
1
|
1
|
0
|
0
|
X6
|
11
|
1
|
1
|
2
|
2
|
0
|
1
|
0
|
X7
|
25
|
1
|
2
|
3
|
1
|
0
|
0
|
1
|
F
|
0
|
-2
|
-4
|
-3
|
-2
|
0
|
0
|
0
|
Б
|
С.Ч
|
X1
|
X2
|
X3
|
X4
|
X5
|
X6
|
X7
|
X2
|
20/3
|
2/3
|
1
|
1
|
1/3
|
1/3
|
0
|
0
|
X6
|
13/3
|
1/3
|
0
|
1
|
5/3
|
-1/3
|
1
|
0
|
X7
|
35/3
|
-1/3
|
0
|
1
|
1/3
|
-2/3
|
0
|
1
|
F
|
80/3
|
2/3
|
0
|
1
|
-2/3
|
4/3
|
0
|
0
|
(-1)(-2)(4)
Б
|
С.Ч
|
X1
|
X2
|
X3
|
X4
|
X5
|
X6
|
X7
|
X2
|
29/5
|
3/5
|
1
|
4/5
|
0
|
2/5
|
-1/5
|
0
|
X4
|
13/5
|
1/5
|
0
|
3/5
|
1
|
-1/5
|
3/5
|
0
|
X7
|
54/5
|
-2/5
|
0
|
4/5
|
0
|
-3/5
|
-1/5
|
1
|
F
|
282/5
|
4/5
|
0
|
7/5
|
0
|
6/5
|
2/5
|
0
|
(-1/3)(-1/3)(2/3)
Ответ: X1
= 0; X2
= 29/5; X3
= 0; X4
= 13/5; X5
= 0; X6
= 0; X7
= 54/5.
Заключение
Остановимся на простейших истолкованиях симплексного метода.
Алгебраический смысл симплексного метода состоит в том, что, совершая тождественные алгебраические преобразования, мы переходим от одного допустимого решения системы алгебраических уравнений к другому улучшенному, достигая оптимального решения задачи.
С геометрической точки зрения тождественные преобразования по симплексному методу представляют собой последовательные движения от одной вершины выпуклого многоугольника решений к соседней, от нее к следующей и так к оптимальной вершине по сторонам этого многоугольника.
Экономическая сущность симплексного метода заключается в том, что он является методом последовательного улучшения решений. Этот метод дает возможность, выбрав отправной – опорный план действий, постепенно передвигаться вперед и в конечном итоге достичь оптимальный план, если, конечно, такой существует.
Симплекс – выпуклый многоугольник в n – мерном пространстве с n + 1 вершинами, не лежащими на одной гиперплоскости. Симплексы выделены в отдельный класс потому, что симплекс – это простейший многоугольник, содержащий некоторый объем n – мерного пространства.
Доказано, что если оптимальное решение существует то оно обязательно будет найдено через конечное число шагов (за исключением так называемой “вырожденной задачи”, при которой возможно явление “зацикливания”, т.е. многократного возврата к одному и тому же положению).
Линейное программирование - область математического программирования, посвященная теории и методам решения экстремальных задач, характеризующихся линейной зависимостью между переменными.
Математическое программирование (оптимальное программирование) – область математики, объединяющая различные математические методы и дисциплины: линейное программирование, динамическое программирование, выпуклое программирование и др. Общая задача математического программирования состоит в нахождении оптимального (максимального или минимального) значения целевой функции, причем значения переменных должны принадлежать некоторой области допустимых значений.
Список использовавшейся литературы
1) А. С. Шапкин, Н. П. Мазаева;
Математические методы и модели исследования
операций
, 2005.
2) Н.Ш. Кремер, Б А Путко, И.М. Тришин, М.Н. Фридман
; Исследование операций в
экономике
. - ЮНИТИ, 2002.
3)
|