Автор работы: Пользователь скрыл имя, 04 Февраля 2013 в 15:21, курсовая работа
Целью данной работы является оптимизация структуры сырья на нефтеперерабатывающем заводе при планировании выпуска нефтепродуктов.
Введение 3
1. Сущность планирования выпуска продукции 5
2. Постановка задачи оптимизации 6
3. Симплекс метод 7
4. Решение задачи линейной оптимизации симплекс – методом. 13
4.1 Физическая (техническая) постановка задачи 13
4.2. Математическая постановка задачи 14
4.3. Приведение задачи к канонической форме 15
4.4. Постановка L-задачи 17
4.5. Решение L-задачи 18
4.6. Формирование начального опорного плана исходной
задачи линейного программирования из оптимального плана L-задачи 20
4.7. Решение исходной задачи I алгоритмом симплекс-метода 20
4.8 Решение исходной задачи 23
Заключение 25
Список литературы 26
Для определения вектора, подлежащего исключению из базиса, находят для всех
Пусть этот минимум достигается при i=r. Тогда из базиса исключают вектор , а число называют разрешающим элементом.
Столбец и строку, на пересечении которых находится разрешающий элемент, называют направляющими.
После выделения направляющей строки
и направляющего столбца
а коэффициенты разложения векторов через векторы нового базиса, соответствующего новому опорному плану, – по формулам
После вычисления и согласно формулам (4) и (5) их значения заносят в табл. 2. Элементы (m+1)-й строки этой таблицы могут быть вычислены либо по формулам
либо на основании их определения.
Таблица 1
Таблица 2
Наличие двух способов нахождения элементов (m+1)-й строки позволяет осуществлять контроль правильности проводимых вычислений.
Из формулы (6) следует, что при переходе от одного опорного плана к другому наиболее целесообразно ввести в базис вектор , имеющий индекс j, при котором максимальным по абсолютной величине является число
.
Однако с целью упрощения вычислительного процесса в дальнейшем будем вектор, вводимый в базис, определять, исходя из максимальной абсолютной величины отрицательных чисел . Если же таких чисел несколько, то в базис будем вводить вектор, имеющий такой же индекс, как и максимальное из чисел , определяемых данными числами
Итак, переход от одного опорного плана к другому сводится к переходу от одной симплекс-таблицы к другой. Элементы новой симплекс-таблицы можно вычислить как с помощью рекуррентных формул (4)-(7), так и по правилам, непосредственно вытекающим из них. Эти правила состоят в следующем.
В столбцах векторов, входящих в базис, на пересечении строк и столбцов одноименных векторов проставляются единицы, а все остальные элементы данных столбцов полагают равными нулю.
Элементы векторов и в строке новой симплекс-таблицы, в которой записан вектор, вводимый в базис, получают из элементов этой же строки исходной таблицы делением их на величину разрешающего элемента. В столбце в строке вводимого вектора проставляют величину , где k – индекс вводимого вектора.
Остальные элементы столбцов вектора и новой симплекс-таблицы вычисляют по правилу треугольника. Для вычисления какого-нибудь из этих элементов находят три числа:
1) число, стоящее в исходной симплекс-таблице на месте искомого элемента новой симплекс-таблицы;
2) число, стоящее в исходной
симплекс-таблице на
3) число, стоящее в новой
Эти три числа образуют своеобразный треугольник, две вершины которого соответствуют числам, находящимся в исходной симплекс-таблице, а третья – числу, находящемуся в новой симплекс-таблице. Для определения искомого элемента новой симплекс-таблицы из первого числа вычитают произведение второго и третьего.
После заполнения новой симплекс-таблицы просматривают элементы (m+1)-й строки. Если все , то новый опорный план является оптимальным. Если же среди указанных чисел имеются отрицательные, то, используя описанную выше последовательность действий, находят новый опорный план. Этот процесс продолжают до тех пор, пока либо не получают оптимальный план задачи, либо не устанавливают ее неразрешимость.
При нахождении решения задачи линейного программирования мы предполагали, что эта задача имеет опорные планы и каждый такой план является невырожденным. Если же задача имеет вырожденные опорные планы, то на одной из итераций одна или несколько переменных опорного плана могут оказаться равными нулю. Таким образом, при переходе от одного опорного плана к другому значение функции может остаться прежним. Более того, возможен случай, когда функция сохраняет свое значение в течение нескольких итераций, а также возможен возврат к первоначальному базису. В последнем случае обычно говорят, что произошло зацикливание.
Итак, нахождение оптимального плана симплексным методом включает следующие этапы:
1. Находят опорный план.
2. Составляют симплекс-таблицу.
3. Выясняют, имеется ли хотя бы одно отрицательное число . Если нет, то найденный опорный план оптимален. Если же среди чисел имеются отрицательные, то либо устанавливают неразрешимость задачи, либо переходят к новому опорному плану.
4. Находят направляющие столбец
и строку. Направляющий столбец
определяется наибольшим по
5. По формулам (4) – (7) определяют положительные компоненты нового опорного плана, коэффициенты разложения векторов Pj по векторам нового базиса и числа , . Все эти числа записываются в новой симплекс-таблице.
6. Проверяют найденный опорный план на оптимальность. Если план не оптимален и необходимо перейти к новому опорному плану, то возвращаются к этапу 4, а в случае получения оптимального плана или установления неразрешимости процесс решения задачи заканчивают.
4. Решение задачи линейной оптимизации симплекс – методом.
4.1 Физическая (техническая) постановка задачи
Нефтеперерабатывающий завод получает четыре полуфабриката:
В результате смешивания этих четырёх компонентов в разных пропорциях образуются три сорта авиационного бензина:
Стоимость 1 тыс.л. указанных сортов бензина:
Необходимо определить план смешения компонентов, при котором будет достигнута максимальная стоимость всей продукции.
При следующих условиях:
Сводная таблица условий задачи:
Таблица 3
Компоненты, используемые для производства трёх видов бензина. |
Сорта производимого бензина |
Объем ресурсов (тыс. л) | ||
А |
В |
С | ||
Алкилат |
400 | |||
Крекинг-бензин |
250 | |||
Бензин прямой перегонки |
300 | |||
Изопентат |
250 | |||
Цена бензина (рублей за 1 тыс.л.) |
120 |
100 |
150 |
4.2. Математическая постановка задачи
Исходя из условий задачи, необходимо
максимизировать следующую
- объемы бензина А-го, В-го и С-го сорта соответственно.
Тогда
объёмная доля первой компоненты (алкилата) в бензине А.
объёмная доля первой компоненты (алкилата) в бензине В.
объёмная доля первой компоненты (алкилата) в бензине С.
и т.д.
Целевая функция выражает стоимость всей продукции в зависимости от объема производимого бензина каждого сорта. Таким образом, для получения максимальной стоимости продукции необходимо максимизировать целевую функцию (1.1) с соблюдением всех условий задачи, которые накладывают ограничения (1.2) на .
4.3. Приведение задачи к канонической форме
Задача линейного программирования записана в канонической форме, если она формулируется следующим образом.
Требуется найти вектор , доставляющий максимум линейной форме
(2.1)
при условиях
(2.2)
(2.3)
где
Перепишем исходную задачу (1.1) - (1.2):
, где
В канонической форме задачи линейного программирования необходимо, чтобы все компоненты искомого вектора Х были неотрицательными, а все остальные ограничения записывались в виде уравнений. Т.е. в задаче обязательно будут присутствовать условия вида (2.3) и 8 уравнений вида (2.2), обусловленных неравенствами (2.5), (2.6).
Число ограничений задачи, приводящих к уравнениям (2.2) можно уменьшить, если перед приведением исходной задачи (2.4) - (2.6) к канонической форме мы преобразуем неравенства (2.6) к виду (2.3). Для этого перенесем свободные члены правых частей неравенств (2.6) в левые части. Таким образом, от старых переменных перейдем к новым переменным , где :
, .
Выразим теперь старые переменные через новые
, (2.7)
и подставим их в линейную форму (2.4) и в неравенства (2.5), (2.6). Получим
, где .
Раскрывая скобки и учитывая, что
можем окончательно записать:
(2.9)
, где
Путем несложных преобразований задачу (1.1), (1.2) свели к задаче (2.9) - (2.11) с меньшим числом ограничений. Для записи неравенств (2.10) в виде уравнений введем неотрицательные дополнительные переменные , и задача (2.9) - (2.11) запишется в следующей эквивалентной форме:
(2.12)
(2.13)
, где
Задача (2.12), (2.13) имеет каноническую форму.
4.4. Постановка L-задачи
Вспомогательная задача для нахождения начального опорного плана задачи (2.12) - (2.13) в канонической форме состоит в следующем.
Требуется обратить в максимум
при условиях
, где .
Здесь добавление только одной дополнительной переменной (вместо пяти) обусловлено тем, что исходная задача уже содержит четыре единичных вектора условий А4, А5, А6, А7.
4.5. Решение L-задачи
Решение L-задачи будем проводить в соответствии с первым алгоритмом симплекс-метода. Составим таблицу, соответствующую исходному опорному плану (0-й итерации).
Т.к. Б0 = - базис, соответствующий известному опорному плану , является единичной матрицей, то коэффициенты разложения векторов Аj по базису Б0
.
Значение линейной формы и оценки для заполнения (m+1)-й строки таблицы определяются следующими соотношениями:
,
.
Отсюда получим:
;
;
;
…
.
Весь процесс решения задачи приведен в таблице, которая состоит из 2 частей, отвечающих 0-й (исходная таблица) и 1-й итерациям.
Заполняем таблицу 0-й итерации.
Среди оценок имеются отрицательные. Значит, исходный опорный план не является оптимальным. Перейдем к новому базису. В базис будет введен вектор А1 с наименьшей оценкой . Значения t вычисляются для всех позиций столбца t (т.к. все элементы разрешающего столбца положительны). Наименьший элемент достигается на пятой позиции базиса. Значит, пятая строка является разрешающей строкой, и вектор А9 подлежит исключению из базиса.
Информация о работе Симплекс метод при решении экономических задач