Материал: Основы математического моделирования. курс лекций. Перова А.В

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

n

x j min;

j 1

n

a ij x j 1,i 1, m;

j 1

x j {1,0}.

Каждое i-е ограничение в данном случае показывает, что должен быть выбран хотя бы один предмет, обладающий i- м признаком.

Если каждому j-му предмету приписывается вес Cj,

может быть сформулирована взвешенная задача о покрытии:

n

C jx j min

j 1

n

a ij x j 1,i 1, m,

j 1

x j {0,1}

Если каждому i-му признаку приписывается натуральное число i и требуется найти минимальное число таких

предметов, что i-м признаком обладает не менее i предметов из указанного набора, получаем задачу о кратном покрытии:

n

x j min

j1 n

aij x j i,i 1, m,

j 1

xj {0,1}

115

Задача о разбиении. Задача о разбиении аналогична задачи о покрытии с тем отличием, что признаки у различных предметов не должны совпадать:

n

x j min;

j 1

n

a ij x j 1,i 1, m;

j 1

x j {1,0}.

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

n

x j min;

j 1

n

aijx j 1,i 1,m;

j 1

xj {1,0}.

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

Пример 5. Пусть некоторое количество информации

хранится в n массивах (файлах) длины cj, j 1,n, причем на

каждую единицу информации отводится по крайней мере один массив. Задана матрица T с элементами

1, еслив j-ммассиве находится i -я информация

tij

0

в противном случае

 

116

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

Введем бинарные переменные:

1, если j-ймассиввыбирается

xj

0

.

 

в противном случае

Тогда математическая модель задачи формализуется в виде задачи о покрытии:

n

cij xj min;

j1 n

tij xj 1,i 1,m;

j 1

xj {1,0}.

ЛЕКЦИЯ 11 МЕТОДЫ РЕШЕНИЯ ЗАДАЧ ЦЕЛОЧИСЛЕННОГО

ПРОГРАММИРОВАНИЯ

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

методы отсечения; комбинаторные методы; приближенные методы.

Методы отсечения используются только для решения линейных задач, а комбинаторные и приближенные методы - как для линейных, так и для нелинейных задач.

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

Метод ветвей и границ основан на использовании конечности множества допустимых вариантов и замене полного перебора сокращенным направленным перебором. При этом

117

полного перебора удается избежать за счет отбрасывания неперспективных множеств вариантов, т.е. тех множеств, где заведомо нет оптимального решения. В методе ветвей и границ все множество допустимых вариантов последовательно дробится на все меньшие подмножества. При этом вычисляются оценки (границы), которые позволяют сделать вывод о том, какое из полученных подмножеств может быть отброшено при условии сохранения подмножества, содержащего оптимальное решение. Для иллюстрации работы МГ используется дерево, называемое деревом перебора (вариантов).

Рассмотрим частично целочисленную задачу следующего вида:

Максимизировать Z = СX

при ограничениях AX = B, X 0,

хj - целочисленная переменная при j I,

где I - множество индексов целочисленных переменных задачи. Задача записана в векторной форме: С=(с1…сn) - вектор-

x

 

1

 

строка коэффициентов целевой функции; X= ... - вектор

x

 

n

b1

столбец переменных задачи; В= ... - вектор-столбец правых

 

 

 

b

 

 

 

 

 

n

a

...

a

 

 

 

11

...

1n

 

 

частей; A= ...

... - матрица коэффициентов при пере-

 

...

 

 

 

 

am1

amn

 

 

менных в системе ограничений.

В качестве первого шага необходимо решить сформулированную задачу ЛП, рассматривая все ее переменные как непрерывные. Получаемая таким образом задача ЛП обозначается через ЛП-1, оптимальное значение ее целевой функции - через Z1. Пусть в оптимальном решении задачи ЛП-1 некото-

118

рые целочисленные переменные принимают дробные значения; тогда оптимальное решение исходной задачи не совпадает с оптимальным решением ЛП-1. В этом случае величина Z1 представляет собой верхнюю границу оптимального значения Z исходной задачи.

На следующем шаге проводится ветвление по одной из целочисленных переменных, имеющих дробное значение в оптимальном решении задачи ЛП-1. Для определения переменной, по которой производится ветвление, разработан ряд правил. Приведем некоторые из них.

1.Выбор целочисленной переменной с наибольшей дробной частью.

2.Приписывание целочисленным переменным приоритетов и ветвление по переменной с наибольшим приоритетом. Важность целочисленной переменной может определяться следующими соображениями:

- данная переменная является наиболее важной, ее значение ирает важную роль в модели по мнению разработчиков.

- коэффициент целевой функции при данной переменной превосходит остальные;

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

4.Произвольные правила выбора. Например, можно выбирать переменную с наименьшим номером.

Пусть ветвление происходит по целочисленной переменной хj, дробное значение которой в оптимальном решении

ЛП-1, равно j . Далее рассматриваются две новые задачи ЛП, обозначаемые через ЛП-2 и ЛП-3. Они получаются путем вве-

дения ограничений x j j и xj j соответственно, где

через j обозначается наибольшее целое, не превосходящее j

, через

j

- наименьшее целое, большее

j. Условия задачи

ЛП-2 и ЛП-3 можно записать следующим образом:

 

 

ЛП-2

ЛП-3

119

Источник: https://studfile.net/preview/16568574/