Математическое программирование




 

Математическое программирование — математическая дисциплина, изучающая теорию и методы решения задач о нахождении экстремумов функций на множествах конечномерного векторного пространства, определяемых линейными и нелинейными ограничениями (равенствами и неравенствами). Формально задача математического программирования формулируется так:

 

В зависимости от природы множества X задачи математического программирования классифицируются как задачи дискретного программирования (или комбинаторной оптимизации) — если X конечно или счетно; задачи целочисленного программирования — если X является подмножеством множества целых чисел; задачей нелинейного программирования, если ограничения и/или целевая функция содержат нелинейные функции и X является подмножеством конечномерного векторного пространства. Если же все ограничения и целевая функция содержат лишь линейные функции, то это — задача линейного программирования. Математическое программирование используется при решении оптимизационных задач исследования операций.

Поскольку у нашей задачи все ограничения и целевая функция содержат лишь линейные функции, то это — задача линейного программирования.

Задача целочисленного линейного программирования это задача, где некоторые или все переменные должны принимать строго целочисленные значения, а целевая функция и ограничения – линейные.

В некоторых задачах целочисленные значения могут быть равны только 0 или 1, тогда такие задачи называются задачами с булевыми переменными.

Задачу целочисленного линейного программирования можно решить как задачу линейного программирования, а затем округлить полученное решение. Однако такой способ допустим только при условии, что значения переменных настолько большие, что погрешностью, вызываемой округлением можно пренебречь. Если же в результате решения переменная принимает малое значение, то ее округление может привести к очень далекому от оптимального решения. Применяются два способа решения задач ЦЛП – метод отсечений и метод ветвей и границ.

 


Решение задачи ЦЛП методом отсечения:

1. Решение задачи как задачи ЛП.

2. Если мы получили целочисленное решение, то оно и является решением задачи ЦЛП.

3. Если мы получаем нецелочисленное решение, то мы к системе ограничений задачи ЛП прибавляем такое ограничение, что полученное нецелочисленное оптимальное решение не может содержаться во множестве допустимых решений и, таким образом, формируем новую задачу ЛП и решаем ее. Цикл повторяется до тех пор пока не будет получено целочисленное решение (решение задачи ЦЛП (если оно существует)).

 

Решение задачи ЦЛП методом ветвей и границ:

1. Решаем задачу как задачу ЛП.

2. Если мы получим оптимальные целочисленные решения задачи ЛП, то они являются также и оптимальными решениями задачи ЦЛП.

3. Если мы не получим целочисленных решений, то целевая функция Z1 задачи ЛП становится верхней границей оптимального значения Z задачи ЦЛП, потому что значение целевой функции Z при введении в дальнейшем новых ограничений для получения оптимальных целочисленных решений уменьшается.

4. Затем производится ветвление по одному из нецелочисленных оптимальных решений задачи ЛП. Ветвление осуществляется с использованием некоторых правил по следующей схеме: если n x n+1, то 1) x n; 2) x n+1, где х – нецелочисленное оптимальное решение задачи ЛП, по которому мы осуществляем ветвление, n – ближайшее целое к х не превышающее х.

Правила ветвления:

1) Выбирается переменная, у которой дробная часть наиболее близка к 0,5.

2) Выбирается переменная с наибольшим приоритетом по какому — либо качественному или количественному значению.

3) Переменная выбирается произвольно.

Ограничения введенные при ветвлении добавляются к ограничениям задачи ЛП.

В каждой из вершин находим оптимальные решения полученных путем добавления новых ограничений задач ЛП – 2 и ЛП – 3. Если не у одной из них мы не получили целочисленных оптимальных решений, то мы выбираем ту вершину, в которой получено наибольшее значение целевой функции и производим дальнейшее ветвление. Так продолжается до получения целочисленного оптимального решения одной из задач ЛП.

Вершина называется прозондированной, если:

1) Мы нашли в ней оптимальное целочисленное решение – решение задачи ЦЛП.

2) В данной вершине нет оптимальных решений задачи ЛП.

3) Значение Z в оптимальном решении задачи ЛП не больше текущей нижней границы.

Прочие вершины называются висящими.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: