Алгоритм решения задач симплексным методом

Автор работы: Пользователь скрыл имя, 19 Июня 2014 в 14:45, курсовая работа

Описание работы

В данной курсовой работе будет рассмотрен алгоритм решения задач с применением симплексного метода.
Перед нами стоит несколько задач: введение понятия «симплексный метод», обозначение условий применения данного метода на практике, особенности решения, а также алгоритм решения задач различными способами (графический, алгоритмический, матричный) и предоставление практического решения реальной производственной задачи.

Содержание работы

Введение………………………………………………………………………………..3
1 Описание симплексного метода..…………...……………………………...……….4
2 Алгоритм решения задач симплексным методом……………………...…………..9
2.1 Графический метод……………………………………………………………….16
2.2 Табличный симплекс – метод……………………………………………….…...21
2.3 Алгоритм метода искусственного базиса………………...…………….……….25
2.4 Двойственный симплекс-метод………………..………………………………...26
3 Решение реальной производственной задачи…………………………………….28
3.1 Постановка задачи………………………………………………………………..28
3.2 Решение задачи…………………………………………………………………...28
Заключение……………………………………………………………………………38
Список используемой литературы…………………………………………………..40

Файлы: 1 файл

Курсовой по методам оптимизации.doc

— 629.00 Кб (Скачать файл)

 

Где bj - ресурсы оборудования ;

       aij - время изготовления j-ого изделия на i-ом оборудовании;

       cj - прибыль от одного изделия Uj;

       xj - количество j-ых изделий, которое необходимо выпустить на предприятии.

F(x)= 40x1 + 50х2 + 30х3 + 20х4→ max                                                               (2.1)


3x1 + 5x2 + 2x3 + 7x4 ≤ 15

4x1 + 3x2 + 3x3 + 5x4 ≤ 9                                                                                      (2.2)

5x1 + 6x2 + 4x3 + 8x4 ≤ 30

Система неравенств преобразуется к равенствам, если к каждому из неравенств ввести фиктивные изделия, остаточные переменные x5, x6, x7, которые используют оставшийся ресурс оборудования. При этом время изготовления фиктивных изделий на соответствующем оборудовании принимается равным:

a15=1, a25=0, a35=0

a16=0, a26=1, a36=0

a17=0, a27=0, a37=1

 

Тогда система равенств и условие неотрицательности запишется в виде:


3*x1 + 5*x2 + 2*x3 + 7*x4 + 1*x5 + 0*x6 + 0*x7 = 15

4*x1 + 3*x2 + 3*x3 + 5*x4 + 0*x5 + 1*x6 + 0*x7 = 9                                           (2.3)                    

5*x1 + 6*x2 + 4*x3 + 8*x4 + 0*x5 + 0*x6 + 1*x7 = 30

 

                                                                                                                             (2.4)


 

Целевая функция запишется следующим образом:

                                       


                                                                                                                             (2.5)

При этом: с5 = c6 = c7 = 0

Таким образом, задача распределения продукции по видам оборудования сводится к нахождению таких значений переменных xj (j от 1 до n), которые удовлетворяют системе равенств вида (2.3), дополнительным ограничениям (2.4) и максимизируют прибыль предприятия вида (2.5).

Решение общей распределительной задачи выполняется в два этапа:

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

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

В нашем случае базис выражается легко, его составляют дополнительно введенные свободные переменные x5, x6, x7. Выразим их через остальные и результат запишем в форме Таккера2:


x5 = 15 - (3x1 + 5x2 + 2x3 + 7x4)

x6 = 9 - (4x1 + 3x2 + 3x3 + 5x4)                         

x7 = 30- (5x1 + 6x2 + 4x3 + 8x4)

В нашем случае x5, x6, x7 называются базисными и соответственно x1, x2, x3, x4 небазисными переменными. Для получения опорного плана надо приравнять к нулю небазисные переменные, тогда получим:

Х = (0; 0; 0; 0; 15; 9; 30)

Опорный план получен, и первый этап решения задачи завершен.

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

1) Выражение целевой функции  через небазисные переменные:

Y = 40x1 + 50x2 + 30x3 + 20x4

Записать целевую функцию в форме Таккера:

Y = 0 - (-40x1 - 50x2 - 30x3 - 20x4)

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

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

4) Выбор из небазисных переменных  той, которая способна при введении  её в базис увеличить значение  целевой функции. Наиболее часто  на практике в качестве такой  переменной выбирают ту, которой  соответствует наибольший отрицательный  коэффициент целевой функции. Следовательно, в базис вводится x2.

5) Определение, какая из базисных  переменных должна быть выведена  из базиса. Для всех положительных  коэффициентов столбца при вводимой  переменной в системе ограничений  находят отношение свободного  члена соответствующему коэффициенту столбца. Минимальное из полученных соотношений указывает строку выводимой переменной. 15/5; 9/3; 30/6 - в соответствии с этими отношениями из базиса выводим х5.

6) Выражение вводимой в базис  переменной через выводимую и  другие небазисные переменные.

x2 = 3 - (3/5x1 + 2/5x3 + 7/5x4 + 1/5x5)

7) Выражение остальных базисных  переменных х6, х7 и целевой функции через новые небазисные переменные х1, х3, х4, х5:


x6 = 0 - (11/5x1 + 9/5x3 + 4/5x4 - 3/5x5)

x7 = 12 - (1/5x1 + 8/5x3 - 2/5x4 - 6/5x5)

Y = 150 - (-10x1 - 10x3 + 50x4 + 10x5)

8) Повторение операций пунктов 2) - 7) до тех пор, пока не будет найдено оптимальное решение.

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

1) Привести задачу к каноническому виду;

2) Найти начальное опорное решение с "единичным базисом" (если опорное решение отсутствует, то задача не имеет решения ввиду несовместимости системы ограничений);

3) Вычислить оценки разложений векторов по базису опорного решения и заполнить таблицу симплексного метода;

4) Если выполняется признак единственности оптимального решения, то решение задачи заканчивается;

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

 

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

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

а) правые части условий (свободные члены bi) являются величинами неотрицательными;

б) сами условия являются равенствами;

в) матрица условий содержит полную единичную подматрицу.

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

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

В оптимальном решении задачи все искусственные переменные (ИП) должны быть равными нулю. Для этого вводят искусственные переменные в целевую функцию задачи с большими отрицательными коэффициентами (-М) при решении задачи на max, и с большими положительными коэффициентами (+М), когда задача решается на min. В этом случае даже незначительное ненулевое значение искусственной переменной будет резко уменьшать (увеличивать) значение целевой функции. Обычно М в 1000 раз должно быть больше, чем значения коэффициентов при основных переменных.

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

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

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

Столбец симплексной таблицы с этим номером на данной итерации называется генеральным столбцом.

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

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

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

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

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

Пятый этап. Полученное базисное решение проверяется на оптимальность (см. третий этап). Если оно оптимально, то вычисления прекращаются. В противном случае необходимо найти новое базисное решение (четвертый этап) и т. д.

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

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

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

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

б) к каким последствиям приведёт сокращение объёмов ресурсов.

в) что произойдёт, если ввести в рассмотрение новую управляемую переменную.

 

2.1 Графический метод

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

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

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

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

 

4) Линию уровня переместить до опорной прямой в задаче на max в направлении нормали, в задаче на min в противоположном направлении.

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

Информация о работе Алгоритм решения задач симплексным методом