Смекни!
smekni.com

Разработка математической модели и ПО для задач составления расписания (стр. 5 из 12)


Разработка математической модели и ПО для задач составления расписания

Полученное уравнениеесть не что иное как отсечение Гомори. Для

Разработка математической модели и ПО для задач составления расписания имеем
Разработка математической модели и ПО для задач составления расписания
и уравнение (19)приобретает вид:

Разработка математической модели и ПО для задач составления расписания

Уравнение (21) должно выполняться для любого целочисленногорешения задачи (12). Заметим, что если a0

Разработка математической модели и ПО для задач составления расписания в уравнении (21).Потому уравнение (21) может использоваться в качестве ведущей строки всимплекс-методе. В частности, всегда можно выбрать
Разработка математической модели и ПО для задач составления расписания
достаточно большим,так чтобы ведущий элемент
Разработка математической модели и ПО для задач составления расписания
в строке (21) сталравным –1, что позволит сохранить целочисленность таблицы. Выбор соответствующего
Разработка математической модели и ПО для задач составления расписания
будет влиять наскорость сходимости алгоритма. Прежде всего опишем самалгоритм. В качестве начального необходимо взять двойственно допустимоерешение, которое можно получить добавлением ограничения xn+m+1=M – x1 - - … - xn
Разработка математической модели и ПО для задач составления расписания
0, где M – достаточнобольшая константа, и проведением одной итерации с добавленной строкой и слексикографически минимальным столбцом, взятыми вкачестве ведущих. Алгоритм состоит из следующих шагов:

Шаг 0. Начать с двойственнодопустимой матрицы A0 в уравнении (13), элементы которой – целыечисла (матрица A0 может содержать и нецелые элементы, обэтом см. [2], стр. 306).

Шаг 1. Среди строк с ai0i0

Разработка математической модели и ПО для задач составления расписания0 (i=1, …, n+m), то задачарешена.)

Шаг 2. Выбрать

Разработка математической модели и ПО для задач составления расписания (правило выбора будетописано дальше) и написать внизу таблицы дополнительную строку

Разработка математической модели и ПО для задач составления расписания

Эта строка выбирается в качестве ведущей.

Шаг 3. Провести шагдвойственного симплекс-метода, вычеркнуть дополнительную строку и вернуться кшагу 1.

Доказательство конечности алгоритма см.[2], стр. 303-304.

Правило выбора

Разработка математической модели и ПО для задач составления расписания формулируетсяследующим образом.

Шаг 0. Пусть строка сномером v является производящей.

Шаг 1. Пусть

Разработка математической модели и ПО для задач составления расписания - лексикографическиминимальный столбец среди столбцов с avj

Шаг 2. Для каждого avj

Разработка математической модели и ПО для задач составления расписания - наибольшее целое,такое, что
Разработка математической модели и ПО для задач составления расписания
(лексикографическименьше).

Шаг 3. Пусть

Разработка математической модели и ПО для задач составления расписания, а
Разработка математической модели и ПО для задач составления расписания
(строка v -производящая). Тогда

Разработка математической модели и ПО для задач составления расписания.

Шаг 4. Положить

Разработка математической модели и ПО для задач составления расписания для avj

Правило выбора

Разработка математической модели и ПО для задач составления расписания, описанное выше, позволяет сделать ведущий элемент равным–1, при этом сохраняется двойственная допустимость таблицы ив то же время нулевой столбец будет максимально лексикографическиуменьшаться.

Подробнее об алгоритме можно прочитать в [2], стр. 300.

2.2.2Прямой алгоритм целочисленного программирования

Термин “прямой”, примененный к алгоритму целочисленногопрограммирования, обозначает метод, который приводит к оптимальному решениюпосредством получения последовательно “улучшаемых” решений. Каждой из этихрешений допустимо в том смысле, что оно удовлетворяет как линейнымограничениям, так и условию целочисленности. Одним из вероятных достоинствалгоритма является возможность прервать вычисления, до того как полученооптимальное решение, и использовать наилучшее из полученных решений какприближенное. Кроме того, можно использовать прямой алгоритм в соединении сдвойственными алгоритмами, чтобы получать различные составные алгоритмы,которые могут переходить от фазы, дающей двойственно допустимые решения, кфазе, дающей прямо допустимые решения.

Естественным прецедентом для прямого алгоритма являетсяполностью целочисленный алгоритм Гомори, поскольку в процессе этого алгоритмаполучается последовательность двойственно допустимых целочисленных решений.Следует напомнить, что полностью целочисленный алгоритм Гомори представляетсобой модификацию двойственного симплекс-метода. Основное отличие этогоалгоритма состоит в том, что в качестве ведущей строки используется отсечениеГомори с ведущим элементом, равным –1. Это отсечение получается из производящейстроки, которая определяется как одна из возможных ведущих строк в двойственномсимплекс-методе. Использование такого отсечения в качестве ведущей строкисохранит после итерации двойственную допустимость и целочисленность таблицы.

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

максимизировать

Разработка математической модели и ПО для задач составления расписания

при условиях

Разработка математической модели и ПО для задач составления расписания,

Разработка математической модели и ПО для задач составления расписания (целые) (k=1,…,n),

где a0j, aij и ai0 – целые числа и ai0

Разработка математической модели и ПО для задач составления расписания0.

Предположим, что столбец
Разработка математической модели и ПО для задач составления расписания
выбран в качествеведущего и строка v – ведущая строка в итерации симплекс-метода, т.е.
Разработка математической модели и ПО для задач составления расписания
для всех строк I, в которых ais>0.Прежде чем провести процедуру исключения Гаусса в симплекс-методе, добавим ктаблице отсечение Гомори, полученное из строки v:

Разработка математической модели и ПО для задач составления расписания

где J – множество индексов небазисных переменных в (22), sk –новая (базисная) слабая переменная и

Разработка математической модели и ПО для задач составления расписания - неопределенная(временно) положительная константа.