|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Тема 1. Линейное программированиеКазанский институт (филиал) Российского государственного торгово-экономического университета _______________________________________________________ Кафедра информатики и высшей математики ТАЛЫЗИН В.А. МАТЕМАТИКА-3
учебно-методическое пособие КАЗАНЬ-2004г.
Тема 1. Линейное программирование Задача 1. Предприятие выпускает два вида продукции А и В, для производства которых используется сырьё трех типов. На изготовление единицы изделия А требуется затратить сырья каждого типа
1. Решить задачу симплекс – методом. 2. Сформулировать двойственную задачу и привести её решение. 3. Найти многогранник и интервалы устойчивости двойственных оценок. 4. Оценить стоимость готовой продукции, если запасы сырья каждого типа на производстве изменились на величину 5. Решить исходную задачу графическим методом.
Решение. 1. Составим математическую модель задачи. Пусть
которые называются нетривиальными ограничениями задачи. Количество изделий
Целевая функция задачи представляет собой общую стоимость произведенной продукции
для которой требуется найти максимальное значение в поставленных ограничениях. Для решения задачи симплекс–методом приведем задачу (1)-(3) к каноническому виду, введя дополнительные балансовые переменные
Физически переменные
Введем балансовые переменные в целевую функцию с коэффициентами, равными 0:
Перенесем слагаемые с переменными в левую часть полученного выражения и запишем целевую функцию в виде уравнения: Задача в форме (4)-(6) называется канонической моделью. Для решения задачи (4)-(6) симплекс-методом необходимо иметь исходный опорныйплан, т.е. базисное решение системы уравнений (4), которое удовлетворяет условиям (5). Для этого все переменные системы надо разделить на две группы – базисные и свободные. Сначала выбирают базисные. Поскольку уравнений всего три, то и базисных переменных будет также три. Переменные могут быть базисными, если матрица коэффициентов при них является невырожденной, т.е. её определитель не равен нулю. В качестве базисных переменных целесообразно выбрать балансовые переменные
которые удовлетворяют ограничениям (5). Тем самым найден исходный опорный план, который в векторном виде запишется:
Подставив компоненты
Теперь составим первоначальную симплексную таблицу:
В первых трех строках столбцов Правила заполнения последнего столбца Теперь, когда начальная таблица построена (кроме столбца Переход к новому, лучшему опорному плану называется итерацией симплекс-метода. Она представляет собой преобразование однократного замещения, поскольку при этом происходит переход к новому набору базисных переменных: одна из базисных переменных становится свободной, а в число базисных, наоборот, войдет одна из бывших свободных переменных. Определим эту пару переменных. Сначала определим переменную, которая войдет в число базисных. Это должна быть одна из свободных переменных: Теперь определим переменную, “покидающую” число базисных. Это делается с помощью симплексных отношений, вычисляемых для
Вычисленные по формуле (7) значения Базисная переменная Элемент таблицы, находящийся на пересечении разрешающего столбца и разрешающей строки, называется разрешающим элементом таблицы (он выделен овалом). Теперь приступают к пересчету таблицы. Заполнение новой таблицы начинается с разрешающей строки. Элементы разрешающей строки прежней таблицы делятся на разрешающий элемент (он равен 2) и в результате в разрешающем столбце
Далее заполняются остальные строки новой таблицы, включая индексную строку (кроме элементов столбца
Все остальные строки пересчитываются аналогично. В итоге получаем таблицу первой итерации симплекс-метода:
Произошел переход к новым базисным переменным:
х1 = 200; х 4 = 300; х 5 = 400. Запишем опорный план в векторной форме:
Этому плану соответствует значение целевой функции, равное 12000 (проверьте подстановкой компонент Как видим, в индексной строке остался один отрицательный элемент, поэтому полученный план также не является оптимальным. Значение (-10) находится в столбце Далее по такой же схеме пересчитываем таблицу первой итерации и получаем таблицу второй итерации:
Аналогично определяем новый опорный план:
Ему соответствует значение целевой функции, равное 13200. Поскольку в индексной строке уже нет отрицательных элементов, план является оптимальным:
Итак, задача линейного программирования решена. Возвращаясь к содержательной постановке задачи, можно сказать, что план выпуска, включающий 140 единиц продукции вида 2. Рассмотрим исходную задачу (1)-(3). При переходе к двойственной задаче нужно выполнить ряд правил. Во-первых, каждому ограничению (1) исходной задачи соответствует переменная двойственной задачи. Таким образом, здесь будут три двойственные переменные
F = 400 y 1 + 900 y 2 + 600 y 3 ® Эта задача тоже является задачей линейного программирования и также может быть решена симплекс-методом. Однако обе задачи, прямая и двойственная, тесно связаны между собой, и поэтому, основываясь на теории двойственности, можно, не решая, привести решение второй, если получено решение первой. Оптимальное решение задачи (8)-(10) находится в индексной строке последней симплекс-таблицы в столбцах, соответствующих первоначальным базисным переменным
Таким образом, Это означает, что при оптимальном производстве данного вида изделий ресурсы первого и второго типов дефицитны ( 3. Согласно теории линейного программирования, двойственные оценки различных типов сырья (значения
Здесь D -1- матрица, состоящая из столбцов первоначальных базисных переменных (т.е.
Вектор
Сначала определим многогранник устойчивости двойственных оценок. Запишем неравенство (11):
Векторное неравенство преобразуем в систему скалярных неравенств, выписывая их для каждой компоненты вектора: 4/5 (400 + -3/5 (400 + (400 + Система неравенств (12) определяет в пространстве переменных Теперь построим интервалы устойчивости по каждому типу ресурса в отдельности. Вначале построим интервал устойчивости для первого типа сырья. Положим 4/5 - 3/5
Объединяя эти неравенства, получаем: - 100 что соответствует следующему интервалу устойчивости по первому ресурсу:
Изменение запасов сырья только второго типа ( - 1/5 2/5 - Отсюда получаем неравенство - 300 и интервал устойчивости по второму ресурсу:
Аналогично исследуем устойчивость по третьему типу сырья (
или - 100 Отсюда интервал устойчивости: Как и следовало ожидать, произвольное увеличение недефицитного сырья третьего типа не изменит его нулевой двойственной оценки. 4. Проверим выполнение неравенства (11) для условий нашей задачи (
Таким образом, при заданных изменениях запаса сырья двойственные оценки не изменятся. Это означает, что первый и второй виды сырья также будут использованы полностью, поэтому первое и второе неравенства системы (1) с измененными правыми частями можно записать как уравнения:
Получили систему двух уравнений с двумя неизвестными. Решая её, получаем новый оптимальный план:
При этом новая стоимость продукции получается подстановкой этих значений в целевую функцию (3): Z нов.max = 60 ∙ 280 + 40 ∙ 40 = 18400. 5. Рассмотрим исходную задачу (1)-(3). Поскольку в ней только две переменные Построим, например, полуплоскость, отвечающую первому неравенству системы (1):
Эта полуплоскость определяется граничной линией, заданной уравнением:
Линию, если она не проходит через начало координат, проще всего построить по двум точкам на осях координат. При лежащей на граничной прямой. Например, такой точкой может быть начало координат х 1 = х 2 = 0. Подставляя в неравенство нулевые значения переменных, получим: 0 £ 400. Это неравенство является истинным, значит, начало координат принадлежит указанной полуплоскости. В противном случае пробная точка лежит в полуплоскости, не отвечающей исходному неравенству.
Аналогично построим и две другие полуплоскости, получим в итоге ОДР (ее границы обведены жирными линиями):
60 200 400 600
Теперь надо найти угловую точку ОДР, в которой целевая функция достигает максимума. Для этого построим градиент (вектор роста) целевой функции
Решение этой системы даёт оптимальный план задачи:
Заметим, что полученные числа совпадают с решением симплексного метода.
Поиск по сайту: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.175 сек.) |