
- •1. Предмет «омм» и задачи курса. Методы и область применения дисциплины.
- •2. Примеры экономических задач
- •5) Задача о рациональном использовании имеющихся мощностей;
- •6) Задача о назначениях
- •3. Классификация моделей и задач в математическом программировании
- •4. Этапы решения экономических задач математическими методами
- •5. Принципы построения экономико-математичеких моделей
- •6, Экономико-математические модели включают в себя систему ограничений, целевую функцию.
- •7, Общая и типовая задача в линейном программировании.
- •8, 1. Каждому опорному/базисному решению злп соответствует крайняя угловая точка выпуклого многогранника d, представляющего собой область допустимых решений задачи (*),и наоборот.
- •11. Построение опорных планов в симплексном методе решения здп.
- •12. Критерий оптимальности
- •15. Симплекс-метод с искусственным базисом.
- •16. Симметричные двойственные задачи и правила их построения.
- •17. Теоремы двойственности.
- •18. Теорема двойственности
- •21. Модели транспортной задачи
- •23.Метод потенциалов
- •26)Задача о назначениях.
- •27) Решение злп с использованием пк.
- •28)Определение дефицитных видов ресурсов и убыточных видов продукции.
- •29)Определение границ устойчивости двойственных оценок.
- •30) Экономические примеры, математическая постановка задачи целочисленного программирования.
- •32. Составление дополнительных ограничений
- •33.Метод Гомори
- •34.Метод ветвей и границ
- •35. Причины возникновения и примеры нелинейностей в оптимизационных экономических задачах
- •36 Квадратичное программирование
- •37. . Економічна постановка і математична модель задачі нелінійного програмування
- •5.10. Геометрична інтерпретація задачі нелінійного програмування
- •38. Множники Лагранжа
- •39.Необхідні умови існування сідлової точки
- •40,Теорема Куна-Таккера
- •41. Разница между глобальным и локальным оптимумом, точным и приближенным решением задачи.
- •Приближенные вычисления
- •Погрешности
- •Значащие цифры
- •Округление
- •Действия над приближенными числами
- •42. Игра как математическая модель конфликта.
- •43. Матричные игры двух лиц. Два игрока/две стратегии
- •Функция полезности
- •Игры с полной/неполной информацией
- •Формальное представление
- •44. Решение матричных игр: доминирование строк и столбцов.
- •45. Решение матричных игр: аффинные преобразования.
- •46. Решение матричных игр графическим способом.
- •47. Решение матричных игр аналитическим способом.
- •48. Сведение матричных игр к задаче линейного программирования.
- •49. Понятие о динамическом программировании.
- •50. Принцип Беллмана.
- •51. Понятие о стохастическом программировании. Классификация задач.
33.Метод Гомори
С помощью отсечений выделяют целочисленные части полиэдров. Метод отсечений был разработан в конце 1950-х годов Гомори для решения целочисленных линейных программ с помощью симплекс-метода. Метод отсечений оказался полезным и с теоретической точки зрения он дает возможность описать целочисленную оболочку полиэдра.
Далее описывается метод отсечений Гомори, дающий алгоритм решения задач целочисленного линейного программирования. Данный метод, который также носит название метода отсекающих плоскостей, предназначен для решения ЦЗЛП (целочисленной задачи линейного программирования) в канонической форме. Описываемая ниже версия алгоритма предназначена для решения полностью целочисленных задач, т.е. таких, у которых все параметры aij, cj, bi – целые.
Описание алгоритма.
Приведем обобщенную схему алгоритма Гомори. Структурно он делится на так называемые большие итерации. Каждая большая итерация содержит этапы:
1. Сначала задача решается методами линейного программирования (малые итерации), обычно симплекс-методом, и анализируется результат, если результатом являются целые числа, то на этом решение заканчивается, а если дробные, то производят следующие операции:
2. В оптимальном плане (симплекс-таблице) выбирают строку, в которой целая часть дробного(!) свободного члена (P0) принимает наибольшее значение.
3. Построение для найденной компоненты условия отсечения. Исходя из уравнения по данной строке xr=P0r - ar,1*x1 - … - ar,n*xn в систему ограничений добавляем неравенство, в котором коэффициенты будут дробными частями коэффициентов данного уравнения: {P0r} –{ ar,1}*x1 - … -{ ar,n}*xn ≤ 0. Переводим к каноническому виду добавляя новую переменную xn+1, получим: {P0r} –{ ar,1}*x1 - … - {ar,n}*xn+xn+1 = 0 И соответственно добавляем в симплекс-таблицу новый базисный вектор по новой переменной xn+1.
4. Переход на начало следующей большой итерации.
Замечание:
При добавлении в симплекс-таблицу нового базисного вектора по новой переменной xn+1 мы получаем недопустимое (отрицательное) решение. Для того, чтобы избавиться от недопустимого решения выбираем столбец замещения так, чтобы строкой замещения стала новая добавленная строка по переменной xn+1. Продолжаем пересчет симплекс-таблицы. Если снова получаем дробное решение, то еще вводим дополнительный базисный вектор, и так до получения целочисленного решения. Но следует заметить, что если область допустимых решений очень мала, то она может и не содержать целых значений, это необходимо проверить графически. Если область допустимых решений не содержит целочисленного решения, то в применении метода Гомори нет необходимости, целого решения не будет!
34.Метод ветвей и границ
Впервые метод ветвей и границ был предложен Лендом и Дойгом [1] в 1960 для решения общей задачи целочисленного линейного программирования. Интерес к этому методу и фактически его “второе рождение” связано с работой Литтла, Мурти, Суини и Кэрела [2], посвященной задаче комивояжера [3]. Начиная с этого момента, появилось большое число работ, посвященных методу ветвей и границ и различным его модификациям. Столь большой успех объясняется тем, что авторы первыми обратили внимание на широту возможностей метода, отметили важность использования специфики задачи и сами воспользовались спецификой задачи коммивояжера.
В основе метода ветвей и границ лежит идея последовательного разбиения множества допустимых решений на подмножества (стратегия “разделяй и властвуй”). На каждом шаге метода элементы разбиения подвергаются проверке для выяснения, содержит данное подмножество оптимальное решение или нет. Проверка осуществляется посредством вычисления оценки снизу для целевой функции на данном подмножестве. Если оценка снизу не меньше рекорда — наилучшего из найденных решений, то подмножество может быть отброшено. Проверяемое подмножество может быть отброшено еще и в том случае, когда в нем удается найти наилучшее решение. Если значение целевой функции на найденном решении меньше рекорда, то происходит смена рекорда. По окончанию работы алгоритма рекорд является результатом его работы.
Если удается отбросить все элементы разбиения, то рекорд — оптимальное решение задачи. В противном случае, из неотброшенных подмножеств выбирается наиболее перспективное (например, с наименьшим значением нижней оценки), и оно подвергается разбиению. Новые подмножества вновь подвергаются проверке и т.д.
Вычисление нижней границы является важнейшим элементом данной схемы. Для простейшей задачи размещения один из способов ее построения состоит в следующем.
Запишем исходную задачу в терминах целочисленного линейного программирования [4].
Введем следующие переменные:
С
использованием введенных обозначений
простейшая задача размещения записывается
следующим образом
yi ³ xij, i Î I, j Î J,
xij, yi , yi Î {0, 1}, iÎI, jÎJ.
Двойственная задача линейного программирования имеет вид:
vj £ gij + wij, iÎ I, jÎ J,
wij ³ 0, iÎ I, jÎ J.
Приближенное решение двойственной задачи используется в качестве нижней оценки.
Для сокращения размерности задачи применяется так называемый блок предварительной отбраковки. Он основан на применении условий дополняющей нежесткости для задач линейного программирования
Если для оптимального решения двойственной задачи выражение в скобках положительно для некоторого iÎ I , то “скорее всего” в исходной целочисленной задаче yi = 0, и размерность можно уменьшить. Понятно, что данный эвристический прием не всегда приводит к правильному решению. Поэтому в качестве порога лучше брать не 0, а некоторую величину d ³ 0, выбор которой зависит от исходных данных. Эту величину называют порогом отбраковки. Очевидно, что при d ³ max ci, размерность задачи не сокращается.
Другой способ уменьшения трудоемкости алгоритма состоит в искусственном завышении нижней оценки. Предположим, что нас интересует не только оптимальное решение, но и приближенные решения с относительной погрешностью не более e . Тогда завышение нижней оценки в (1 + e ) раз приводит к желаемому результату.