Симплекс-метод решения задачи линейного программирования (лекция 2)

Содержание

Слайд 2

Введение

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

Введение Каждый человек ежедневно, не всегда осознавая это решает проблему: как получить
эффект, обладая ограниченными средствами.
Наши средства и ресурсы всегда ограничены. Чтобы достичь наибольшего эффекта, имея ограниченные средства, надо составить план, или программу действий. Раньше план в таких случаях составлялся "на глазок" (теперь, впрочем, зачастую тоже).
В середине XX века был создан специальный математический аппарат, помогающий это делать "по науке". Соответствующий раздел математики называется математическим программированием.

Слайд 3

Слово "программирование" здесь и в аналогичных терминах ("линейное программирование, динамическое программирование" и

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

Введение

Слайд 4

Временем рождения линейного программирования принято считать 1939 год, когда была напечатана брошюра

Временем рождения линейного программирования принято считать 1939 год, когда была напечатана брошюра
Леонида Витальевича Канторовича "Математические методы организации и планирования производства". Поскольку методы, изложенные Л.В. Канторовичем, были мало пригодны для ручного счета, а быстродействующих ЭВМ в то время не существовало, работа Л.В. Канторовича осталась почти незамеченной.
Свое второе рождение линейное программирование получило в начале пятидесятых годов с появлением ЭВМ. Тогда началось всеобщее увлечение линейным программированием, вызвавшее в свою очередь развитие других разделов математики. В 1975 году академик Л.В. Канторович и американец профессор Т. Купманс получили Нобелевскую премию по экономическим наукам за "вклад в разработку теории и оптимального использования ресурсов в экономике".

Введение

Слайд 5

Концепции Леонида Витальевича вскоре после войны были переоткрыты на западе. Американский экономист

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

Введение

Слайд 6

Слово SIMPLEX в обычном смысле означает простой, несоставной, в противоположность слову COMPLEX.

Слово SIMPLEX в обычном смысле означает простой, несоставной, в противоположность слову COMPLEX.

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

Введение

Слайд 7

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

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

Введение

Слайд 8

Постановка задачи

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

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

Слайд 9

Сопоставим условиям этой задачи следующую таблицу (симплекс-таблицу)

Постановка задачи

Сопоставим условиям этой задачи следующую таблицу (симплекс-таблицу) Постановка задачи

Слайд 10

Решение задачи проводится в два этапа:
1. Нахождение опорного плана
2. Нахождение оптимального плана
На

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

Схема решения задачи

Слайд 11

Правила пересчета таблицы

В симплекс-таблице выделен некоторый элемент, который называется разрешающим. Этот

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

Слайд 12

Нахождение опорного плана

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

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

Слайд 13

Алгоритм нахождения опорного плана

1. Если все числа первого столбца, начиная со второй

Алгоритм нахождения опорного плана 1. Если все числа первого столбца, начиная со
строки, неотрицательны, то опорный план найден и надо переходить ко второму этапу.
2. Для любого отрицательного элемента в первом столбце (начиная со второй строки) находим отрицательный элемент в этой строке в столбцах, начиная со второго. Любой из этих столбцов может быть взят в качестве разрешающего.
3. Если отрицательных элементов не найдется (больше нет в этой строке), то ОДР пуста и задача решений не имеет.
В самом деле, переменная, которой соответствует эта строка будет отрицательной, что противоречит ограничениям задачи.

Слайд 14

4. Рассматриваются отношения элементов первого столбца к разрешающему столбцу для всех строк,

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

Алгоритм нахождения опорного плана

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

Слайд 15

Алгоритм нахождения оптимального плана

1. Если все элементы первой строки, начиная со второго

Алгоритм нахождения оптимального плана 1. Если все элементы первой строки, начиная со
столбца, не положительны, то оптимальный план найден, задача решена.
имеет минимум при , если
. Если , то может быть больше ноля.
2. Любой столбец, в котором в первой строке находится положительный элемент, может быть взят в качестве разрешающего. Первый столбец не рассматривается.
3. Рассмотрим отношение элементов первого столбца к элементам разрешающего столбца для всех строк, начиная со второй. Та строка, для которой это отношение минимально из всех положительных и 0, у которой в разрешающей строке положительный элемент, может быть взята в качестве разрешающей.

Слайд 16

4. Если таких строк нет, то . В самом деле имеется столбец

4. Если таких строк нет, то . В самом деле имеется столбец
вида
Тогда

Алгоритм нахождения оптимального плана

Слайд 17

Если , то условие неотрицательности
выполняется.
Если , то не меняется, а

Если , то условие неотрицательности выполняется. Если , то не меняется, а
если , то
возрастает. В любом случае условие не нарушается. При этом . Следовательно, решений нет.
5. Разрешающий элемент – элемент, находящийся на пересечении разрешающей строки и разрешающего столбца. Делаем пересчет таблицы и переходим к пункту 1.

Алгоритм нахождения оптимального плана

Слайд 18

Пример (вариант 50)

Пример (вариант 50)

Слайд 19

Пример (вариант 50)

Пример (вариант 50)

Слайд 20

Пример (вариант 50)

Пример (вариант 50)

Слайд 21

Пример (вариант 50)

Пример (вариант 50)

Слайд 22

Пример (вариант 50)

Пример (вариант 50)

Слайд 23

Пример (вариант 50)

Пример (вариант 50)

Слайд 24

Пример (вариант 50)

Пример (вариант 50)

Слайд 25

Ответ: при
Проверка. Найденные значения подставляются в исходную таблицу.

Пример (вариант 50)

Ответ: при Проверка. Найденные значения подставляются в исходную таблицу. Пример (вариант 50)

Слайд 26

Какие переменные в симплекс-таблице являются свободными?
1)
2)
3) находящиеся в верхней строке,
4) находящиеся

Какие переменные в симплекс-таблице являются свободными? 1) 2) 3) находящиеся в верхней
в левом столбце.

Задания для самоконтроля

Слайд 27

2. Условие оптимального плана – …
1) все элементы первого столбца, начиная со

2. Условие оптимального плана – … 1) все элементы первого столбца, начиная
второй строки, являются неотрицательными,
2) все элементы первого столбца, начиная со второй строки, являются положительными,
3) все элементы первой строки, начиная со второго столбца, являются неотрицательными,
4) все элементы первой строки, начиная со второго столбца, являются неположительными.

Задания для самоконтроля

Слайд 28

3. Какие числа в симплекс-таблице могут быть взяты в качестве разрешающих элементов?
1)

3. Какие числа в симплекс-таблице могут быть взяты в качестве разрешающих элементов?
-6, -5/2, -2, 3;
2) -5/2, -2, -1;
3) -5/2, 3, 4;
4) -2, -1, -1/2.

Задания для самоконтроля