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

Автор: Пользователь скрыл имя, 18 Декабря 2012 в 21:32, курсовая работа

Краткое описание

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

Оглавление

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

Файлы: 1 файл

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

— 619.00 Кб (Скачать)
  1. После заполнения новой симплекс-таблицы алгоритм возвращается к 5-му пункту.

Конец работы алгоритма:

    • либо когда в F-строке все коэффициенты (кроме С0) будут больше нуля, тогда получаем оптимальное решение;
    • либо когда существует столбец, у которого Cj<<0 и все коэффициенты Aij<<0, в этом случае решения не существует.

 

 

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

 

Формализованный алгоритм симплекс-метода состоит из двух основных этапов:

1) построение опорного плана;

2) построение оптимального плана.

Алгоритм симплекс-метода рассмотрим на примере реальной задачи.

Пусть предприятие может  изготавливать изделия четырех видов: U1, U2, U3, U4. Для изготовления каждого изделия требуется определенный вид оборудования. Известно, сколько времени требуется на изготовление каждого изделия на каждом оборудовании и какая прибыль может быть получена при реализации каждого изделия. Требуется так распределить изделия по видам оборудования, чтобы предприятие имело максимальную прибыль.

Таблица 2.1. Распределение изделий по видам оборудования.

 

U 1

U2

U3

U4

bj

O1

3

5

2

7

15

O2

4

3

3

5

9

O3

5

6

4

8

30

сj

40

50

30

20

 

 

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

       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 строго положителен, то отыскивается генеральная строка (в противном случае задача не имеет оптимального решения).

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

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

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

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