Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовые по ОАУ / Решение задач оптимизации линейного программирования.doc
Скачиваний:
115
Добавлен:
15.06.2014
Размер:
291.84 Кб
Скачать

3.2.Описание вычислительной процедуры

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

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

Подробнее этапы реализации двухэтапного симплекс-метода будут рассмотрены в пункте 4 «Решение задачи оптимизации на основе симплекс-таблиц».

4.Решение задачи оптимизации на основе симплекс-таблиц

4.1.Приведение аналитической модели к стандартной форме

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

В нашей задаче целевая функция подлежит минимизации и поэтому мы, почленно умножаем её левую и правою части на -1 для того, чтобы её максимизировать:

-E=-4X1-6X2max. (4.1)

Для преобразования ограничений «больше либо равно» в равенство необходимо из левой части ограничения вычесть дополнительную переменную (избыточную). А для преобразований «меньше либо равно» в левую часть ограничения добавляется дополнительная переменная (остаточная). После этих преобразований наша система (2.1) будет выглядеть следующим образом:

0.1X1+0.3X2-X3=3

0.8X1+0.6X2-X4=7.2

0.1X1+0.1X2+X5=2 (4.2)

0.8X1+0.6X2+X6=12.8

Здесь переменные X3, X4 – это избыточные переменные, а переменные X5, X6 – остаточные. Каждая из этих переменных имеет свой физический смысл: X3 – обозначает, на сколько больше будет содержаться олова в конечном сплаве (в кг); X4 – обозначает, на сколько больше будет содержаться цинка в конечном сплаве (в кг); X5 – на сколько меньше будет содержаться меди в конечном сплаве (в кг); X6 – на сколько меньше будет содержаться цинка в конечном сплаве (в кг). Каждая из этих переменных по своему физическому смыслу неотрицательная и поэтому на них накладывается следующие ограничения: X30; X40; X50; X60.

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

0.1X1+0.3X2-X3+X7=3

0.8X1+0.6X2-X4+X8=7.2

Здесь переменные X7, X8 – искусственные базисные переменные. Они не имеют никакого физического смысла и нужны только для построения начального базиса.

Система ограничений с искусственными базисными переменными будет иметь следующий вид:

0.1X1+0.3X2-X3+X7=3

0.8X1+0.6X2-X4+X8=7.2

0.1X1+0.1X2+X5=2 (4.3)

0.8X1+0.6X2+X6=12.8

Xi0, i=1,..,8.

Таким образом, начальный базис будет состоять из искусственных переменных X7, X8, а также остаточных переменных X5, X6.

Теперь перейдем к составлению искусственной целевой функции, а это сумма всех искусственных переменных:

W= X7+ X8min.

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

Искусственная целевая функция выражается через небазисные переменные. Для этого сначала требуется выразить искусственные переменные через небазисные:

X7=3-0.1X1-0.3X2+X3

X8=7.2-0.8X1-0.6X2+X4.

Выраженные таким образом искусственные переменные подставляются в искусственную целевую функцию: 

W=3-0.1X1-0.3X2+X3+7.2-0.8X1-0.6X2+X4min.

Для приведения всей задачи к стандартной форме выполняется переход к искусственной целевой функции, подлежащей максимизации. Для этого она умножается на –1:

-W=-3+0.1X1+0.3X2-X3-7.2+0.8X1+0.6X2-X4max

-W=-10.2+0.9X1+0.9X2-X3-X4max. (4.4)

Приведем полную математическую модель задачи, приведенную к стандартной форме:

0.1X1+0.3X2-X3+X7=3

0.8X1+0.6X2-X4+X8=7.2

0.1X1+0.1X2+X5=2 (4.5)

0.8X1+0.6X2+X6=12.8

Xi0, i=1,..,8.

-E=-4X1-6X2max (4.6)

-W=-10.2+0.9X1+0.9X2-X3-X4max (4.7)