40105

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

Доклад

Менеджмент, консалтинг и предпринимательство

ДСМ ДСМ как и СМ называется методом последовательного улучшения оценок и применяется для решения задачи: исходным пунктом этого метода является выбор такого базиса . Таким образом основные принципы ДСМ заключаются в том чтобы: каждый раз выполнялось 2 значения целевой функции убывало. Для этого воспользуемся 2м принципом ДСМ. Чтобы обеспечить это надо выбрать так что: 6 Алгоритм ДСМ формулируется так: Выбираем базис и строим I симплекстаблицу Если все то решение оптимально иначе переход к 3.

Русский

2013-10-15

178 KB

18 чел.

18. Двойственный симплекс-метод, основные принципы, алгоритм. Случаи, когда удобно применять двойственный симплексный метод. (ДСМ)

ДСМ, как и СМ, называется методом последовательного улучшения оценок и применяется для решения задачи:

исходным пунктом этого метода является выбор такого базиса .

Предположим   (1)

и  (2)

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

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

Для псевдорешения  можно записать

AX = B

X = A-1B

YTA = CT

YT = CTA-1

Согласно взаимосвязи между значениями целевых функций исходной и двойственной задач ( F(X)  Z(Y) ) для допустимого решения исходной задачи  и допустимого решения двойственной задачи  выполняется

Лемма. Для двух допустимых решений двойственной пары X = (x1, x2, …, xn) и Y = (y1, y2, …, ym) выполняется  F(X)  Z(Y)

ДОК-ВО: ЧТД

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

  1.  каждый раз выполнялось (2)
  2.  значения целевой функции убывало.

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

(3)

Пусть . Вектор , тогда из (3)

Чтобы гарантировать выполнение этого неравенства для должно выполняться .  (4)

Пусть .

Для  условие (3) будет выполняться в силу (2) и (4).

Для  условие (3) представим в виде

, так как , то знак изменится.

надо выбрать из условия  (5)

Установим принцип выбора строки . Для этого воспользуемся 2-м принципом ДСМ. Учитываем

Значение . Чтобы обеспечить это  надо выбрать так, что:

(6)

Алгоритм ДСМ формулируется так:

  1.  Выбираем базис и строим I симплекс-таблицу
  2.  Если все , то решение оптимально, иначе переход к 3.
  3.  Находим строки, где . Если для некоторой выполняется , то система несовместна,

иначе выбирается  (для условности можно выбирать наименьшую отрицательную ).

  1.  Выбираем  j0 согласно (5). Разрешающий элемент
  2.  Строится новая симплекс-таблица и переходим к шагу 2.

В ДСМ, как и в СМ, возможно зацикливание в случае, когда   (7)

В этом случае F не изменит значения при переходе к новому базису. Если зацикливание произошло, то можно изменить номера i0 и j0, то есть изменить выбор разрешающего элемента и продолжить решение. Если (7) не возникает, то зацикливания нет и целевая функция периодически убывает. Если на i-ой итерации произошло убывание целевой функции, то предыдущее базисное решение на последующих итерациях не вычисляется, и за конечное число итераций прекратиться убывание целевой функции, найдено  оптимальное решение.

Случаи, когда удобно применять ДСМ

Применимость ДСМ на практике ограничена тем, что сложно выбрать базис (1), который обеспечивает условие (2).

Укажем случаи, когда выбор базиса не представляет труда.

1) пусть имеется следующая исходная задача:

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

Перейдем к дополнительным переменным:

В качестве базиса  выберем .

В силу того, что , то

Таким образом, задача подготовлена к применению ДСМ.

2) в некоторых практических задачах можно обнаружить, что найденное решение не отражает действительную ситуацию. Это происходит, когда при построении ЭММ не было учтено некоторое ограничение. Это ограничение должно быть добавлено, и задача должна быть решена заново с учетом этого ограничения. Если ограничение имеет вид неравенства, то удобнее применять ДСМ.

Предположим  – оптимальное решение исходной задачи на max, т.е. все .

Добавляем неравенство:

Вводим дополнительную переменную:

Составим расширенную матрицу полученной системы:

Обозначим строку i через .

Сделаем следующее преобразование последней строки матрицы A по следующей формуле:

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

Каждый столбец A есть вектор Aj, записанный в базисе

Таким образом,  – симплекс-таблица, построенная по методу дополнительных переменных. Надо записать в таблицу  Так как вектор  – базисный и , то  совпадают с оценками заключительной симплекс-таблицы задача готова к применению ДСМ, если при этом .


 

А также другие работы, которые могут Вас заинтересовать

14130. Основні етапи розвязування задачі з використанням компютера 67.5 KB
  Тема уроку: Основні етапи розвязування задачі з використанням компютера Мета уроку: Дати поняття про основні етапи розвязування задачі з використанням компютера.Тип уроку: Лекційний. Теоретичний матеріал: Зараз важко уявити собі життя людини без компютера. Люди в
14131. Поняття інформаційної моделі 39 KB
  Тема уроку: Поняття інформаційної моделі Мета уроку: Дати поняття про моделювання та створення інформаційних моделей обєктів.Тип уроку: Лекційний. На початку уроку рекомендується провести усне опитування за темою попереднього уроку з метою визначення засвоєного ма...
14132. Величини. Типи даних. Стандартні типи даних. Набір функцій і операцій, введених для кожного зі стандартних типів 83.5 KB
  Тема уроку: Величини. Типи даних. Стандартні типи даних. Набір функцій і операцій введених для кожного зі стандартних типів. Мета уроку: дати поняття величини та типів даних визначити стандартні типи даних їх опис та набір функцій і операцій для кожного зі стандартних ...
14133. Вказівка надання значення. Вказівки введення та виведення. Структура програми на мові програмування Паскаль 60 KB
  Тема уроку: Вказівка надання значення. Вказівки введення та виведення. Структура програми на мові програмування Паскаль. Мета уроку: дати поняття вказівки присвоювання познайомитись з вказівками введення та виведення зі структурою програми на мові Паскаль.Тип уроку:...
14134. Формування зображення на екрані ПЕОМ. Створення найпростіших лінійних програм 66.5 KB
  Тема уроку: Формування зображення на екрані ПЕОМ. Створення найпростіших лінійних програм Мета уроку: Дати дитині поняття про режими роботи монітору та принципи виведення зображення на екран в цих режимах.Тип уроку: Лекційний з практичними прикладами. Лекційний мате...
14135. Створення найпростіших лінійних програм 27 KB
  Тема уроку: Створення найпростіших лінійних програм Мета уроку: Дати дитині поняття про режими роботи монітору та принципи виведення зображення на екран в цих режимах.Тип уроку: Практична робота. На початку уроку необхідно нагадати дітям правила поведінки в комп'юте
14136. Розвязування задач з лінійними алгоритмами 61 KB
  Тема уроку: Розвязування задач з лінійними алгоритмами Мета уроку: Навчитися розвязувати прості задачі з лінійними алгоритмами. Тип уроку: Практична робота. На початку уроку необхідно нагадати дітям правила поведінки в компютерному класі та правильної роботи за к
14137. Вказівка розгалуження та її опис мовою програмування. Опис умов 40.5 KB
  Тема уроку: Вказівка розгалуження та її опис мовою програмування. Опис умов. Мета уроку: Дати поняття про структурні оператори вказівку розгалуження повну та скорочену форми та поняття про прості та складені умови.Тип уроку: Лекційний з практичними прикладами. Лекц
14138. Запис алгоритмів з використанням вказівки розгалуження мовою програмування 63.5 KB
  Тема уроку: Запис алгоритмів з використанням вказівки розгалуження мовою програмування. Мета уроку: Навчити складати алгоритми з використанням команди розгалуження та записувати їх мовою програмування.Тип уроку: Розбір задач що потребують для свого розв'язання вказ