- •Экономико-математические методы
- •2. Геометрическое решение злп
- •3. Основные теоремы линейного программирования
- •2.1.Линейная программа: случай двух переменных
- •2.2 Общие свойства линейных программ
- •2.3. Теоретические основы симплексного метода
- •Симплексный метод решения задач линейного программирования
- •Двойственная задача линейного программирования.
- •7.1. Классическая содержательная постановка лп
- •7.2 Экономическая интерпретация двойственной задачи
- •7.3 Экономическая интерпретация ограничений двойственной задачи.
- •7.4 Экономическая интерпретация теорем двойственности
- •Связь между решениями прямой и двойственной задач
- •2.1. Методы отсечения и их сущность
- •2.Метод гомори
- •Описание метода
- •[Править]Обоснование
- •[Править]Двумерный случай
- •Принцип оптимальности. Уравнение Беллмана
Связь между решениями прямой и двойственной задач
Рассмотрим пару двойственных задач, образованную основной задачей линейного программирования и двойственной к ней. Исходная задача: найти максимум функции
(43)
при условиях
(44)
(45)
Двойственная задача: найти минимум функции
(46)
при условиях
(47)
Каждая из задач двойственной пары (43) – (45) и (46), (47) фактически является самостоятельной задачей линейного программирования и может быть решена независимо одна от другой. Однако при определении симплексным методом оптимального плана одной из задач тем самым находится решение и другой задачи.
Существующие зависимости между решениями прямой и двойственной задач характеризуются сформулированными ниже леммами и теоремами двойственности.
Лемма
1. Если
Х – некоторый план исходной задачи (43)
– (45), a Y –
произвольный план двойственной задачи
(46), (47), то значение целевой функции
исходной задачи при плане Х всегда не
превосходит значения целевой функции
двойственной задачи при плане Y, т. е.
Лемма
2. Если
для
некоторых планов X* и
Y* задач
(43) – (45) и (46), (47), то X* –
оптимальный план исходной задачи, а
Y* –
оптимальный план двойственной задачи.
Теорема
8 (первая
теорема двойственности). Если одна из
задач двойственной пары (43) – (45) или
(46), (47) имеет оптимальный план, то и другая
имеет оптимальный план и значения
целевых функций задач при их оптимальных
планах равны между собой, т. е.
Если же целевая функция одной задачи из двойственной пары неограничена (для исходной (43) – (45) – сверху, для двойственной (46), (47) – снизу), то другая задача вообще не имеет планов.
Теорема
9 (вторая
теорема двойственности). План
задачи
(43) – (45) и план
задачи
(46), (47) являются оптимальными планами
этих задач тогда и только тогда, когда
для любого
выполняется
равенство
№16 Теоремы двойственности
Теоремы двойственности и их применение
Теоремы двойственности и их применение. Фундаментальные свойства, которыми обладают двойственные задачи линейного программирования, могут быть сформулированы в виде приводимых ниже утверждений. Их обычно называют теоремами двойственности.
Теорема 1.4. Если х, и— допустимые планы для пары двойственных задач (D,f) и (D*,f*), тo f(x) ≤ f(u). |
Доказательство.
Достаточно доказать теорему для случая, когда задача (D, f) является канонической. Рассмотрим пару двойственных задач
Из того, что вектор и является допустимым планом задачи (D*, f*), следует, что иА ≥ с. Умножив левую и правую части данного неравенства на вектор х ≥ 0 , получим равносильную систему неравенств
Одновременно для вектора х, являющегося допустимым планом задачи (D, f), справедливо равенство Ax=b. Тем самым доказано, что иb ≥ сх.A
Замечание. Теорема 1.4, разумеется, верна и для оптимальных планов взаимно двойственных задач: f(x*) ≤ f*(u*), где х* и u*—любые оптимальные планы задач (D, f) и (D*,f*). На самом деле, как будет видно из дальнейшего, справедливо равенство f(x*) = f*(u*).
№18 Методы решения транспортной задачи
ранспортная задача (задача Монжа — Канторовича) — математическая задача линейного программирования специального вида о поиске оптимального распределения однородных объектов из аккумулятора к приемникам с минимизацией затрат на перемещение.[1][2] Для простоты понимания рассматривается как задача об оптимальном плане перевозок грузов из пунктов отправления в пункты потребления, с минимальными затратами на перевозки. Транспортная задача является по теории сложности вычислений NP-сложной и входит в класс сложности NP. Когда суммарный объём предложений (грузов, имеющихся в пунктах отправления) не равен общему объёму спроса на товары (грузы), запрашиваемые пунктами потребления, транспортная задача называется несбалансированной (открытой). Постановка задачи
Транспортная задача (классическая) — задача об оптимальном плане перевозок однородного продукта из однородных пунктов наличия в однородные пункты потребления на однородных транспортных средствах (предопределённом количестве) со статичными данными и линеарном подходе (это основные условия задачи).
Для классической транспортной задачи выделяют два типа задач: критерий стоимости (достижение минимума затрат на перевозку) или расстояний и критерий времени (затрачивается минимум времени на перевозку). Под названием транспортная задача ,определяется широкий круг задач с единой математической моделью, эти задачи относятся к задачам линейного программирования и могут быть решены оптимальным методом. Однако, спец.метод решения транспортной задачи позволяет существенно упростить её решение, поскольку транспортная задача разрабатывалась для минимизации стоимости перевозок.
[править]История поиска методов решения
Проблема была впервые формализована французским математиком Гаспаром Монжем в 1781 году[3]. Основное продвижение было сделано на полях во время Великой Отечественной войны советским математиком и экономистом Леонидом Канторовичем[4]. Поэтому иногда эта проблема называется транспортной задачей Монжа — Канторовича.
[править]Методы решения
Классическую транспортную задачу можно решить симплекс-методом, но в силу ряда особенностей её можно решить проще (для задач малой размерности).
Условия
задачи располагают в таблице, вписывая
в ячейки количество перевозимого груза
из
в
груза
,
а в маленькие клетки — соответствующие
тарифы
.
[править]Итерационное улучшение плана перевозок
[править]Нахождение опорного плана
Требуется определить опорный план и путём последовательных операций найти оптимальное решение. Опорный план можно найти следующими методами: «северо-западного угла», «наименьшего элемента», двойного предпочтения и аппроксимации Фогеля.
[править]Метод северо-западного угла (диагональный)
На каждом этапе максимально возможным числом заполняют левую верхнюю клетку оставшейся части таблицы. Заполнение таким образом, что полностью выносится груз из или полностью удовлетворяется потребность .
[править]Метод наименьшего элемента
Одним из способов решения задачи является метод минимального (наименьшего) элемента. Его суть заключается в сведении к минимуму побочных перераспределений товаров между потребителями.
Алгоритм:
Из таблицы стоимостей выбирают наименьшую стоимость и в клетку, которая ей соответствует, вписывают большее из чисел.
Проверяются строки поставщиков на наличии строки с израсходованными запасами и столбцы потребителей на наличие столбца, потребности которого полностью удовлетворены. Такие столбцы и строки далее не рассматриваются.
Если не все потребители удовлетворены и не все поставщики израсходовали товары, возврат к п. 1, в противном случае задача решена.
№19 Модели целочисленного программирования. Методы отсечения. Метод Гомори
Целочисленное программирование ориентировано на решение задач, в которых все или некоторые переменные должны принимать только целые значения. Задача называется полностью целочисленной, если условие целочисленности наложено на все ее переменные; когда это условие относится лишь к некоторым переменным, задача называется частично целочисленной. [1]
Целочисленное программирование исторически выросло из непрерывного линейного программирования, сразу начало использовать его идеи, аппарат и методы. [2]
Целочисленное программирование ориентировано на решение задач математического программирования, в которых все или некоторые переменные должны принимать только целочисленные значения. Задача называется полностью целочисленной, если условие целочисленности наложено на все ее переменные; когда это условие относится лишь к некоторым переменным, задача называется частично целочисленной. [3]
Методы целочисленного программирования, известные - в настоящее время, позволяют решать довольно ограниченный круг задач в связи с тем, что для реальных задач необходимо проделывать очень большой объем вычислений. Актуальность и трудность проблематики делают целочисленное программирование одним из перспективных и интересных направлений в математическом программировании. [4]
Присущие целочисленному программированию трудности вычислительного характера обусловили стремление исследователей найти альтернативные пути решения проблемы. Один из простейших подходов заключается в решении непрерывной модификации целочисленной задачи с последующим округлением координат полученного оптимума до допустимых целых значений. Округление в данном случае есть не что иное, как приближение. [5]
Среди задач целочисленного программирования наибольший интерес представляют задачи комбинаторного типа, в которых экстремальное решение описывается некоторой перестановкой набора чисел. Для их решения применяются методы, использующие принципы направленного перебора вариантов. Оптимальное решение получается в результате перебора сокращенного числа допустимых решений. С помощью определенного правила исключаются целые подмножества вариантов, не содержащие оптимальной точки. [6]
Постройте модель целочисленного программирования для определения того, в каких из п массивов производить поиск, чтобы выбрать данные, относящиеся ко всем требуемым статистическим характеристикам, за минимальное время. [7]
Постройте модель целочисленного программирования для определения такого назначения автомашин для доставки всех грузов, при котором минимизируются суммарные затраты. [8]
Рассмотрим модель целочисленного программирования, содержащую только булевы переменные. [9]
К задачам целочисленного программирования относятся, например, задача об оптимальном раскрое материалов, так как ее параметры управления задаются в целых единицах ( листах фанеры, стекла, стали), задача об оптимальном распределении самолетов по различным маршрутам авиалиний, известные задачи о рюкзаке и коммивояжере. [10]
Именно алгоритмы целочисленного программирования, которые будут описаны ниже, реализуют методы систематического введения дополнительных ограничений с целью сведения исходной допустимой области к выпуклой оболочке ее допустимых целочисленных точек. [11]
Вначале задача целочисленного программирования рассматривается как линейная программа и алгоритм решает ее с помощью прямого или двойственного симплекс-метода. [12]
Многие задачи целочисленного программирования могут быть представлены в такой форме. В частности, иногда можно представить в такой форме задачу, в которой целевая функция является квадратичной положительной полуопределенной функцией, а ограничения линейны. [13]
Рассмотрим задачу целочисленного программирования, к которой сводятся многие задачи автоматизации проектирования ( см. гл. [14]
Классические методы целочисленного программирования позволяют в результате оптимизационных расчетов получать решения ( определять искомые объемы производства), точно соответствующие типовым мощностям. В этих условиях производство либо входит в оптимальный план с объемом, равным мощности, либо не входит вообще. [15]
