![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Решение задач линейной оптимизации симплекс – методом |
Решение задач линейной оптимизации симплекс – методом. Курсовая работа по дисциплине «Численные методы оптимизации» Выполнил: ст.гр.4408 Калинкин А.А. Казанский Государственный Университет им. А.Н. Туполева. г. Казань 2001г. 1. Постановка задачи 1.1. Физическая (техническая) постановка задачи Нефтеперерабатывающий завод получает четыре полуфабриката: 400 тыс. л. алкилата; 250 тыс. л. крекинг-бензина; 350 тыс. л. бензина прямой перегонки; 250 тыс. л. изопентона; В результате смешивания этих четырёх компонентов в разных пропорциях образуются три сорта авиационного бензина: Бензин А – 2 : 3 : 5 : 2 ; Бензин В – 3 : 1 : 2 : 1 ; Бензин С – 2 : 2 : 1 : 3 ; Стоимость 1 тыс.л. указанных сортов бензина: Бензин А – 120 руб. Бензин Б – 100 руб. Бензин С – 150 руб. Необходимо определить план смешения компонентов, при котором будет достигнута максимальная стоимость все продукции. При следующих условиях: Бензина каждого сорта должно быть произведено не менее 300 тыс.л. Неиспользованного крекинг бензина должно остаться не более 50 тыс.л. Сводная таблица условий задачи: Компоненты, используемые для производства трёх видов бензина. Сорта производимого бензина Объем ресурсов (тыс. л) А В С Алкилат 400 Крекинг-бензин 250 Бензин прямой перегонки 300 Изопентат 250 Цена бензина (рублей за 1 тыс.л.) 120 100 150 1.2. Математическая постановка задачи Исходя из условий задачи, необходимо максимизировать следующую целевую функцию: (1.2.1) при ограничениях (1.2.2) , где В этих выражениях: - объемы бензина А-го, В-го и С-го сорта соответственно. Тогда объёмная доля первой компоненты (алкилата) в бензине А. объёмная доля первой компоненты (алкилата) в бензине В. объёмная доля первой компоненты (алкилата) в бензине С. и т.д. Целевая функция выражает стоимость всей продукции в зависимости от объема производимого бензина каждого сорта. Таким образом, для получения максимальной стоимости продукции необходимо максимизировать целевую функцию (1.2.1) с соблюдением всех условий задачи, которые накладывают ограничения (1.2.2) на . 2. Приведение задачи к канонической форме Задача линейного программирования записана в канонической форме, если она формулируется следующим образом. Требуется найти вектор , доставляющий максимум линейной форме (2.1) при условиях (2.2) (2.3) где Перепишем исходную задачу (1.2.1) - (1.2.2): (2.4) при ограничениях (2.5) , где (2.6) В канонической форме задачи линейного программирования необходимо, чтобы все компоненты искомого вектора Х были неотрицательными, а все остальные ограничения записывались в виде уравнений. Т.е. в задаче обязательно будут присутствовать условия вида (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.8), можем окончательно записать: (2.9) (2.10) , где (2.11) Путем несложных преобразований задачу (1.2.1), (1.2.2) свели к задаче (2.9) - (2.11) с меньшим числом ограничений. Для записи неравенств (2.10) в виде уравнений введем неотрицательные дополнительные переменные , и задача (2.9) - (2.11) запишется в следующей эквивалентной форме: (2.12) (2.13) , где Задача (2.12), (2.13) имеет каноническую форму. 3. Нахождение начального опорного плана с помощью L-задачи Начальный опорный план задачи (2.1) - (2.3), записанной в канонической форме, достаточно легко может быть найден с помощью вспомогательной задачи (L-задачи): (3.1) (3.2) (3.3) Начальный опорный план задачи (3.1) - (3.3) известен. Он состоит из компонент и имеет единичный базис Б = = E. Решая вспомогательную задачу первым алгоритмом симплекс-метода (описание алгоритма приводится в п.4), в силу ограниченности линейной формы сверху на множестве своих планов () получим, что процесс решения через конечное число шагов приведет к оптимальному опорному плану вспомогательной задачи. Пусть - оптимальный опорный план вспомогательной задачи. Тогда является опорным планом исходной задачи. Действительно, все дополнительные переменные . Значит, удовлетворяет условиям исходной задачи, т.е. является некоторым планом задачи (2.12) - (2.13). По построению план является также опорным. 3.1. Постановка L-задачи Вспомогательная задача для нахождения начального опорного плана задачи (2.12) - (2.13) в канонической форме состоит в следующем. Требуется обратить в максимум при условиях , где . рассматривая в качестве исходного опорного плана план Здесь добавление только одной дополнительной переменной (вместо пяти) обусловлено тем, что исходная задача уже содержит четыре единичных вектора условий А4, А5, А6, А7. 3.2. Решение L-задачи Решение L-задачи будем проводить в соответствии с первым алгоритмом симплекс-метода (описание алгоритма приводится в п.4). Составим таблицу, соответствующую исходному опорному плану (0-й итерации). Т.к. Б0 = - базис, соответствующий известному опорному плану, является единичной матрицей, то коэффициенты разложения векторов Аj по базису Б0 . Значение линейной формы и оценки для заполнения (m 1)-й строки таблицы определяются следующими соотношениями: , . Отсюда получим: ; ; ; . Весь процесс решения задачи приведен в табл. 3.2.1, которая состоит из 2 частей, отвечающих 0-й (исходная таблица) и 1-й итерациям. Заполняем таблицу 0-й итерации. Среди оценок имеются отрицательные. Значит, исходный опорный план не является оптимальным. Перейдем к новому базису. В базис будет введен вектор А1 с наименьшей оценкой . Значения вычисляются для всех позиций столбца (т.к. все элементы разрешающего столбца положительны). Наименьший элемент достигается на пятой позиции базиса. Значит, пятая строка является разрешающей строкой, и вектор А9 подлежит исключению из базиса.
Составим таблицу, отвечающую первой итерации. В столбце Бх, в пятой позиции базиса место вектора А9 занимает вектор А1. Соответствующий ему коэффициент линейной формы С41 = 0 помещаем в столбец Сх. Главная часть таблицы 1 заполняется по данным таблицы 0 в соответствии с рекуррентными формулами. Так как все , то опорный план является решением L-задачи. Наибольшее значение линейной формы равно . Таблица 3.2.1 3.3. Формирование начального опорного плана исходной задачи линейного программирования из оптимального плана L-задачи Поскольку , где - оптимальный опорный план L-задачи, то является начальным опорным планом исходной задачи (2.12) - (2.13). 4. Решение исходной задачи I алгоритмом симплекс-метода Описание I алгоритма Симплекс-метод позволяет, отправляясь от некоторого исходного опорного плана и постепенно улучшая его, получить через конечное число итераций оптимальный план или убедиться в неразрешимости задачи. Каждой итерации соответствует переход от одной таблицы алгоритма к следующей. Таблица, отвечающая опорному плану в ν-й итерации имеет вид табл. 4.1. Таблица 4.1 C B 1 l m m 1 – – – Заполнение таблицы, соответствующей исходному опорному плану (0-й итерации). Пусть некоторый опорный план задачи (2.1) - (2.3) с базисом . Тогда – базисные компоненты, а – небазисные компоненты. Вычисляем коэффициенты разложения векторов Аj по базису Б0 (в случае, если Б0 является единичной матрицей, ) и находим оценки . Далее определяем значение линейной формы Полученные результаты записываем в таблицу 4.1. В первом столбце таблицы указываются номера строк. Номера первых m строк совпадают с номерами позиций базиса. Во втором столбце Сх записываются коэффициенты линейной формы при базисных переменных. Столбец Бх содержит векторы базиса . В столбце В записываются базисные переменные опорного плана. Столбцы содержат коэффициенты разложения соответствующих векторов условий по векторам базиса. Все вышесказанное относится только к первым m строкам таблицы. Последняя (m 1)-я строка таблицы заполняется последовательно значением линейной формы F и оценками . Позиции таблицы, которые не должны заполняться, прочеркиваются. В результате заполнена таблица 0-й итерации кроме столбца . Столбцы В, А1, , A (все m 1 позиций) будем называть главной частью таблицы. Порядок вычислений в отдельной итерации. Пусть ν-я итерация закончена. В результате заполнена таблица ν за исключением последнего столбца . Каждая итерация состоит из двух этапов. I этап: проверка исследуемого опорного плана на оптимальность. Просматривается (m 1)-я строка таблицы ν. Если все , то опорный план, полученный после ν-й итерации, является оптимальным (случай 1), завершаем решение задачи. Пусть теперь имеются отрицательные оценки. Проверяем знаки элементов столбцов с . Наличие по крайней мере одного столбца , для которого и все , свидетельствует о неразрешимости задачи (случай 2). Установив это, прекращаем вычисления. Если в каждом столбце , для которого , содержится хотя бы один положительный коэффициент , то опорный план является неоптимальным (случай 3).
Поэтому разработчики Maple были вынуждены реализовать в своей системе численные методы решения задач линейной алгебры, которые широко используются в основных сферах ее приложения — математическом моделировании систем и устройств, расчетах в электротехнике, механике, астрономии и т.д. Решение задач линейной алгебры в численном виде можно рассматривать как одну из форм визуализации результатов вычислений, относящихся к линейной алгебре. В ядро Maple, как отмечалось, введены очень скромные и минимально необходимые средства для решения задач линейной алгебры. Основной упор в их реализации сделан на подключаемые пакеты. Основным из них, унаследованным от предшествующих реализаций системы, является пакет решения задач линейной алгебры linalg. Это один из самых обширных и мощных пакетов в области решения задач линейной алгебры. Для их просмотра достаточно использовать команду: > with(linalg); Для большинства пользователей системой Maple набор функций пакета оказывается чрезмерно обширным и потому опущен. Укажем, однако, наиболее употребительные функции пакета linalg: • addcol — добавляет к одному из столбцов другой столбец, умноженный на некоторое число; • addrow — добавляет к одной из строк другую строку, умноженную на некоторое число; • angle — вычисляет угол между векторами; • augment — объединяет две или больше матриц по горизонтали; • backsub — реализует метод обратной подстановки при решении системы линейных уравнений (см
1. Решение задач симплекс-методом
2. Решение задач линейной оптимизации симплекс – методом
4. Решение задач линейного программирования симплекс методом
5. Решение экономических задач программными методами
9. Системы принятия решений, оптимизация в Excel и базы данных Access
10. Решение геоэкологических проблем с помощью нестандартных геофизических методов
11. Численные методы интегрирования и оптимизации сложных систем
12. Методы проведения экспертиз при разработке управленческих решений
13. Предмет психологии, ее задачи и методы
14. Задачи и методы планирования производства
15. Новые представления о задачах и методах гипербарической медицины
16. Содержание, задачи и методы финансового планирования на предприятии
17. Предмет, задачи и методы теории перевода
19. Цели, задачи и методы маркетинговых исследований
20. Предмет, задачи и методы возрастной физиологии
21. Задачи и методы квалиметрии
25. Решение проблем и принятие решений
26. Двойственный симплекс-метод и доказательство теоремы двойственности
27. Построение экономической модели c использованием симплекс-метода
28. Построение экономической модели c использованием симплекс-метода
30. Симплекс метод в форме презентации
31. Методы, применяемые на эмпирическом и теоретическом уровнях познания. Развитие методов познания
32. Метод программирования и схем ветвей в процессах решения задач дискретной оптимизации
33. Решение транспортной задачи методом потенциалов
34. Решение задач - методы спуска
35. Построение решения задачи Гурса для телеграфного уравнения методом Римана
36. Решение транспортной задачи методом потенциалов
37. Решение задач на построение сечений в многогранниках методом следов
41. Решение задачи методами линейного, целочисленного, нелинейного и динамического программирования.
44. Решение задач оптимизации бизнес-процессов с использованием прикладных программ
45. Решение прикладных задач методом дихотомии
46. Аналитический метод в решении планиметрических задач
47. Решение задачи линейного программирования симплексным методом
48. Методы решения логистических задач
49. Эвристические методы решения творческих задач
51. Использование линейного программирования для решения задач оптимизации
53. Решение оптимизационных управленческих задач на основе методов и моделей линейного программирования
58. Решение систем линейных алгебраических уравнений методом Гаусса и Зейделя
59. Решение нелинейного уравнения методом касательных
60. Метод последовательных уступок (Теория принятия решений)
61. Приближенный метод решения интегралов. Метод прямоугольников (правых, средних, левых)
62. Составление и решение нестандартных уравнений графоаналитическим методом
63. Метод прогонки решения систем с трехдиагональными матрицами коэффициентов
65. Методология и методы принятия решения
66. Сущность и методы принятия управленческих решений
68. Методология и методы принятия решения
69. Метод касательных решения нелинейных уравнений
73. Нестандартные методы решения тригонометрических уравнений: графический и функциональный
74. Методы принятия управленческого решения
75. Управленческие ситуации и методы их решения
76. Кинезиология как Метод решения психологических проблем
77. Сравнительная характеристика методов принятия решений относительно инвестиционных программ
78. Оптимизация процесса обработки воды методом ультрафильтрации
79. Методы оптимизации портфеля бескупонных облигаций
80. Методы поиска технических решений
81. Обзор методов оптимизации кода для процессоров с поддержкой параллелизма на уровне команд
82. Методы решения уравнений, содержащих параметр
83. Метод касательных решения нелинейных уравнений
84. Метод касательных. Решения нелинейных уравнений. Паскаль 7.0
85. Коллективные методы принятия управленческих решений
89. Методы и алгоритмы компьютерного решения дифференциальных уравнений
90. Одномерная оптимизация функций методом золотого сечения
91. Поиск решений системы линейных уравнений методом Гаусса
92. Разработка компьютерного лабораторного практикума "Теория оптимизации и численные методы"
94. Решение систем нелинейных алгебраических уравнений методом Ньютона
95. Решение системы линейных уравнений методом Гаусса и Жордана-Гаусса
97. Резисторы и конденсаторы в «полупроводниковом» исполнении. Топологические решения и методы расчета
98. Исследование методов решения системы дифференциальных уравнений с постоянной матрицей