Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ммпур методичка.DOC
Скачиваний:
126
Добавлен:
16.12.2018
Размер:
5.47 Mб
Скачать

Постановка задачи.

Среди совокупности n неделимых предметов, каждый j-й (j=1, 2, … , n) из которых обладает по i-й характеристике показателем aij и полезностью cî, найти такой набор, который позволяет максимизировать эффективность использования ресурсов величины bi (i=1, 2, … , m).

Математическая модель этой задачи может быть представлена следующим образом: в области, определенной условиями

найти решение x=(x1, x2, …, xn), при котором максимизируется (минимизируется) значение целевой функции

(7)

Если n1=n, то (4—7) является моделью задачи целочисленного программирования, если n1<n — моделью задачи частично целочисленного программирования.

Частным случаем задачи целочисленного программирования является задача с булевыми переменными. Ее математическая модель в общем виде записывается следующим образом: в области, определенной условиями

найти решение x=(x1, x2, …, xn), при котором максимизируется (минимизируется) значение функции

(10)

К классу задач целочисленного програмирования примыкают задачи, в которых условие целочисленности всех или части переменных заменено требованием дискретности. А именно, для каждой j-й переменной xj (j=1, 2,… ,n) заранее определен набор значений (не обязательно целых), которые она может принимать:

Предполагается, что Ajlj , j=1, 2, …, n; lj=1, 2, … , kj , проранжированы, т. е. Aj1< Aj2 <…< Ajkj.

Математическая модель общей задачи линейного программирования может быть представлена следующим образом: в области, определенной условиями

найти решение x=(x1, x2,…, xn), при котором максимизируется (минимизируется) линейная функция

(13)

Условие (12) определило название этого класса задач. Если n1=n, то (11— 13) называется задачей дискретного программирования; если n1<n, то (11—13) называется задачей частично дискретного программирования.

П р и м е р. В области, опре-деленной условиями

2x1 +11x2  38,

x1 + x2  7,

4x1– 5x2  5,

x10, x20, x1, x2 — целые

найти максимум функции

Z(x1, x2)=x1+x2.

Р е ш е н и е. Решим задачу геометрически. Область поиска экстремума — многоугольник ODABC, но так как линия уровня целевой функции параллельна стороне АВ многоугольника, экстремум достигается в вершинах А(8/3, 13/3) и В(23/9, 40/9), а также в любой точке отрезка АВ, и равен 7. Однако нас интересуют точки с целочислеными координатами, следовательно, ни А, ни В не являются допустимым решением задачи. Округляя значения координат А, получим А’ (2, 4). Но точка А’ не принадлежит области поиска. Целочисленный оптимум достигается в точках N(3, 2) и M(2, 3) и равен 5. Обе точки внутри области поиска.

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

Методы отсечения.

Запишем общую задачу целочисленного программирования:

в области, определенной условиями

максимизировать функцию

(17)

Назовем задачу (14—17) (Gц, Z)-задачей. Соответствующую ей задачу без требования целочисленности переменных, т. е. задачу (14, 15, 17) назовем (G, Z)-задачей. Возникает вопрос: нельзя ли решение (Gц, Z)-задачи получить путем решения некоторой специальным образом построенной задачи без требования целочисленности переменных и такой, что оптимальные решения исходной (Gц, Z)-задачи и задачи без требования целочисленности переменных будут совпадать. Другими словами: нельзя ли хорошо изученный аппарат решения задач линейного программирования приспособить к решению целочисленных задач. Принципиальный ответ на этот вопрос дает следующая теорема.

Т е о р е м а 1. Пусть G — многогранник, Gц — множество его целых точек, R — выпуклая линейная оболочка множества Gц, тогда:

  1.  R= Rццелочисленный многогранник;

  2.  Rц= Gц;

  3.  R* — множество опорных решений задачи (Gц, Z) содержится в многограннике Rц.

Следствием этой теоремы является тот вывод, что оптимальоне решение задачи, областью определения которой является выпуклая оболочка, натянутая на область поиска целочисленного решения, совпадает с оптимальным решением исходной целочисленной задачи.

Теорема и следствие из нее показывают принципиальную возможность замены решения задачи типа (Gц, Z) некоторой процедурой построения и решения вспомогательной задачи типа (G, Z), однако не дают алгоритма решений. К тому же построение выпуклой оболочки множества Gц реальных задач — чрезвычайно сложная, а подчас практически неразрешимая задача.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]