Смекни!
smekni.com

Математические методы исследования операций в экономике (стр. 26 из 37)


причем по условию задачи xii =0, i∊1: n.

Допустимыми планами служат связные маршруты, однознач­но определяемые упорядоченным набором посещаемых пунктов:

Каждый такой маршрут можно отождествить с перестанов­кой n чисел (упорядоченной выборкой из n элементов по n). В свою очередь, таким перестановкам взаимно однозначно со­ответствуют матрицы X, у которых в каждой строке и каждом столбце содержится точно одна единица.

С учетом сказанного задача коммивояжера принимает вид целочисленной задачи линейного программирования:

Условия (4.8) и (4.9) с содержательной точки зрения означа­ют, что в каждый пункт можно въехать и выехать только один раз. Приведенная форма записи задачи коммивояжера (4.6)-(4.10) не является самой рациональной и предназначена только для того, чтобы подчеркнуть ее общность с другими задачами дискретного программирования. Существует и другая форма, которая более ярко отражает комбинаторный характер данной проблемы:

гдеD — множество перестановок чисел от 1 до n.

Отдельно следует остановиться на том, что задача коммиво­яжера имеет большое количество содержательных аналогов. Скажем, к аналогичной модели приведет задача разработки графика переналадки оборудования, которое может выпускать разные типы изделий, но требует определенных затрат (времен­ных или материальных) при переходе с одного технологическо­го режима на другой.

4.1.4. Задачи с разрывными целевыми функциями. Как уже упоминалось выше, многие экономические системы ха­рактеризуются наличием так называемых постоянных затрат, которые должны быть произведены независимо от объема про­изводства. Учет в моделях этих и подобных факторов приводит к появлению в них целевых функций, не обладающих свойст­вом непрерывности. В качестве примера может быть приведена транспортная задача с фиксированными доплатами. Она отличается от транспортной задачи в матричной постановке, рассмотренной в главе 3, тем, что в ней затраты по перевозке груза из i-го пункта производства в j-й пункт потребления опре­деляются как

где сi,j — по-прежнему издержки на перевозку единицы груза;

di,j — фиксированная доплата за аренду транспортныхсредств.

При таких предпосылках целевая функция суммарных затрат на перевозку

содержит «скачкообразные» разрывы, что существенно затруд­няет ее минимизацию, поэтому стандартный метод решения ос­нован на следующем преобразовании. Если ввести вспомога­тельные переменные уi,j, такие, что

то целевая функция примет вид

Действительно, если уi,j =0 , то переменные хi,j =0, а при уi,j =1 неравенства (4.15) становятся несущественными, поскольку они и так справедливы для любого опорного плана. Следова­тельно, задача (4.16) эквивалентна исходной задаче (4.13). В силу характера ограничений (4.14)-(4.15) задача (4.16) яв­ляется задачей частично-целочисленного программирования.

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

В последующих параграфах мы остановимся на способах ре­шения наиболее известных и хорошо изученных дискретных задач. Излагаемые ниже методы не имеют универсального ха­рактера, с каждым из них связаны определенные ограничения и, соответственно, ответ на вопрос о выборе того или иного из них зависит от конкретных особенностей решаемой задачи. Более того, цель изложения состоит в том, чтобы создать у читателя общие представления об основных идеях и подходах, не углубляясь далеко в вычислительные и математические тонкости, которыми буквально изобилуют алгоритмы дис­кретного программирования. Заметим также, что достаточно эффективный и широко применяемый подход к решению це­лочисленных задач основан на сведении их к задачам транс­портного типа. Это объясняется тем, что если в условиях транс­портной задачи значения запасов (аi) и потребностей (bj) являются целочисленными, то целочисленным будет и опти­мальный план.

4.2. МЕТОД ГОМОРИ

4.2.1. Основные идеи и принципы*. Данный метод, кото­рый также носит название метода отсекающих плоскостей, предназначен для решения ЦЗЛП в канонической форме (4.2)-(4.3). Кратко представим его основные идеи.

* Впервые был предложен Р.Гомори в 1957-1958 гг.

Отправной точкой для решения задачи (4.2)-(4.3) является решение ее непрерывного аналога, т. е. КЗЛП без учета условий целочисленности. Если получаемый в результате оптимальный план х* содержит только целые компоненты, то мы автомати­чески получаем и соответствующее решение ЦЗЛП. В против­ном случае к системе ограничений задачи должно быть добавле­но такое ограничение, для которого:

- найденный нецелочисленный оптимальный план х* не удов­летворяет вновь добавляемому ограничению;

- любой допустимый целочисленный план непрерывной задачи (4.2)-(4.3) удовлетворяет вновь добавляемому ограниче­нию.

Такое ограничение называют правильным отсечением. В первой геометрической интерпретации правильному отсече­нию соответствует гиперплоскость, отсекающая от выпуклого многогранного множества допустимых плановD некоторый мно­гогранник, не содержащий целочисленных планов.

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

Теперь необходимо несколько более подробно остановиться на принципах формирования отсекающих ограничений. Вос­пользуемся системой обозначений, применявшихся при изло­жении вычислительных методов линейного программирования. Пусть β(q) — оптимальный базис, полученный на последней итерации решения нецелочисленной ЗЛП. Если обозначить через αi,j и άi коэффициенты матрицы задачи и вектора ограниче­ний в текущем базисе (A(q)) и b(q)))

то i-ое уравнение в системе ограничений задачи примет вид:

Так как план x(q)) является базисным, то в каждом уравнении все коэффициенты αi,j, соответствующие базисным столбцам (jN(q))), равны нулю за исключением некоторого αi,ji =1, на основе чего из (4.18) получаем:

Если представить каждый коэффициент αi,j в виде суммы це­лой и дробной частей αi,j =[αi,j]+{αi,j}, то получим

или

Из (4.21) следует, что если все хj,j∊1: n являются целыми, то целым будет и выражение

стоящее в левой части(4.21), и, стало быть, правая часть данно­го уравнения:

также должна быть целой. Предположим, что

тогда, в силу того, что 0 ≤ {άi} < 1, а {αi,j} ≥ 0, xj ≥ 0, должно вы­полняться неравенство

Однако неравенства (4.22) и (4.23) противоречат требуемой целочисленности правой части (4.21)xj(q)). Следовательно, для целочисленных решений должно выполняться условие, проти­воположное неравенству (4.22), или, что то же самое,

В то же время (4.24) не выполняется для любого нецелочислен­ного базисного плана х. Действительно, небазисные компонен­ты плана равны нулю: хj=0 , jN(q)), и (4.24) приобретает вид {άi} ≤0 <=> {άi}=0, но это противоречит предположению о нецелочисленности плана х, т. к. в базисном плане хi = άi . Все сказанное позволяет утверждать, что ограничение (4.24) задает правильное отсечение.

Таким образом, с точки зрения организации техники, вычис­лений для осуществления правильного отсечения мы должны к системе ограничений нецелочисленной линейной задачи, реша­емой на q-й итерации, добавить условие

гдеxn+1 ≥0 — фиктивная переменная, добавляемая для преоб­разования неравенства в строгое равенство. Ей соответствует нулевой коэффициент в целевой функции.