Файл: Золотарь, И. А. Экономико-математические методы в дорожном строительстве.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.10.2024

Просмотров: 156

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

В нем коэффициенты ац и а^, имеющие дробные части, можно разбить на целую часть и дробь следующими способами:

2 ,7 = 2 -ф0,7; 2,7 = 3 - 0 ,3 ;

5,1 = —5 — 0,1;

5,1 = —6 + 0 ,9 .

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

2,7 = 2 + 0,7 и —5,1 = —6 + 0,9.

можно,

таким

образом,

записать в

Неравенства типа (VI.1)

виде ■

 

 

 

 

2

Xj ^

^о~Ь /<о>

(VI.3)

7 = 1

 

 

 

 

где символами R обозначены целые числа,

a f — неотрицательные

дробные части коэффициентов ац.

Дополнительные ограничения Гомори, соответствующие прямой,

подобной SS' на рис. 21, задаются неравенством

 

| / ; Л - > / ; о -

(VI-4)

7-1

 

Величина Д0 как неотрицательная дробная часть числа всегда меньше единицы, а сумма hfijXj может быть и больше единицы.

Кроме того, как было показано выше, введением дополнитель­ ных переменных вместо неравенства (VI.3) легко получить равен­ ство. Поэтому ограничение Гомори может быть задано и равенст­ вом типа

s i = n£ f u xj - / i о-

(v i -5)

7 = 1

причем число Si всегда будет целым. Из этого следует, что каждое дополнительное ограничение Гомори, изображаемое прямой типа SS', обязательно пройдет хотя бы через один целочисленный узел решетки и тем самым сократит область допустимых решений.

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

100


§13. Применение целочисленного программирования

вэкономическом анализе

Рассмотрим описанную методику решения задач целочисленно­ го программирования на следующем методическом примере.

Специальный цех оснащен четырьмя стендами и может изготав­ ливать два вида мостовых конструкций. Изготовление одного комп­ лекта конструкций первого вида требует трех, а второго вида — одной стендо-смены. Цех обслуживают автомобили общей грузо­ подъемностью 50 т, которые должны • ежедневно за один рейс вывозить продукцию цеха строительным подразделениям, ведущим сборку конструкций.

Комплект конструкций первого вида имеет массу Ю ти позволя­ ет собрать 4 пог. м мостовых конструкций, комплект второго вида — соответственно 20 т и 1 пог. м конструкций. Требуется установить, сколько комплектов конструкций первого и второго вида следует ежедневно изготавливать в цехе для того, чтобы максимизировать протяжение собираемых мостовых конструкций с учетом упомяну­ тых выше ограничений по производственной мощности цеха и транспортным возможностям.

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

L=4:X-\-\y

(VI.6)

при ограничениях

 

 

\0x-\-2Oy <; 50

или х-\-2у ^ 5 ,

(VI.7)

 

Зх + у = 4

(VI.8)

и условиях неотрицательности переменных х ^ О и (/^ 0 .

форму

Для того чтобы ограничения

(VI.7) и (VI.8) приняли

равенств, введем дополнительные переменные Si и S2 . Тогда полу­

чим:

S 1 = 5 —x —2y\

(VI.9) ■

S 2= 4 — Зх — у.

(VI. 10)

Рассматриваемая задача целочисленного программирования очень проста и могла бы быть решена обычным перебором вариан­ тов. Однако она принята для решения по алгоритму Гомори для того, чтобы показать использование последнего на простом методи­ ческом примере.

Найдем вначале оптимальное нецелочисленное решение подоб­ ной задачи. Ранее нами для этого использовался метод потенциа­ лов. Теперь обратимся к основному методу решения задач линейно­ го программирования — симплекс-методу, суть которого сводится

кследующему.

1.Находится базисное решение (соответствует одной из угловых точек области допустимых решений), в котором общее число нену­

10!


левых значений основных и дополнительных переменных типа Si и S2 в зависимостях (VI.9) и (VI.10) равно числу уравнений в форме равенств.

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

Понять это положение нетрудно на основе чисто логических со­ ображений. Если бы в нашем примере было только одно ограниче­ ние, например по использованию стендов (уравнение VI.10), то выгодно было бы производить лишь комплекты первого типа, так как при этом целевая функция (VI.6) была бы максимальна и со­ ставляла 5!/з (при у = 0). В этом случае число ненулевых перемен­ ных (одна переменная х) равнялось бы числу ограничений. Если появляется второе ограничение, например по транспортным воз­ можностям, как в нашем примере, то обычно бывает выгодным производить и второй вид продукции в целях использования этого производственного ресурса.

В нашей задаче четыре переменных: х, у, Si и S 2 и два уравне­ ния в форме равенств (VI.9) и (VI.10). Следовательно, базисное решение должно содержать два ненулевых значения переменных. Если начало координат является одной из вершин области допусти­ мых решений, то проще всего за базисное решение принять точку О начала координат. В этой точке будем иметь два нулевых значения

переменных (х = у = 0) и на . основе уравнений

(VI.9)

и (VI.10)

ненулевые значения Si и S2.

для

базисного' ре­

2.

Определяется значение целевой функции

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

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

решений достаточно сложно и проводится на

основе специально

разработанной методики.

 

Запишем основные условия нашей задачи:

 

L — 0 -|—4х -|~ у\

(VI.11)

Sj = 5 —х —2у\

(VI. 12)

S2 —4 — Зх — у.

(VI. 13)

102


В правую часть равенства (VI.11) введен ноль как коэффициент при дополнительных переменных Si и S 2 в целевой функции. В та­ кой записи все переменные с ненулевыми значениями (Si и S%для базисного решения) находятся в левой части уравнений (VI. 12) и (VI.13), а нулевые переменные — в правой части равенств (VI.11) —

(VI.13).

Составим таблицу-матрицу коэффициентов выражений для L,

Si и S2:

 

 

X

У

L

0

4

1

s t

5

—1

—2

s 2

4

— 3

—1

В матрице (VI. 14) для первого базисного решения переменные с нулевыми значениями помещены сверху, а ненулевые — слева. Этот порядок записи будет сохраняться и в дальнейшем.

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

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

1 1 * 4 У'

иI 5 1 - 2 I - 1

Тогда L' = 5—2х'у'. Очевидно, что maxZ/ имеет место

лишь

при х '= у ' = 0. Следовательно,

данное базисное решение будет оп­

тимальным, максимизирующим

значение целевой функции.

Как

видно из матрицы (VI.14), первое базисное решение для х = у = 0 не является оптимальным. Так как любое базисное решение должно сохранять такое же число ненулевых переменных, как и первое, то можно лишь поменять местами в матрице (VI. 14) какие-либо две переменные (одну из левой, а вторую из верхней части таблицы). Выбор их не должен осуществляться произвольно. Элемент матри­ цы, находящийся на скрещении меняемых местами переменных, на­ зывается на каждом этапе получения базисного решения ведущим элементом симплекс-таблицы. Ведущий элемент выбирается из столбца с наибольшим положительным коэффициентом в первой строке. В описываемом случае таковым является второй столбец.

В дальнейшем выбор ведущего элемента осуществляется сле­ дующим образом. На каждый из отрицательных элементов выбран­ ного столбца делится соответствующий элемент первого столбца. Тот элемент, для которого абсолютное значение частного является наименьшим, и принимается за ведущий. Во втором столбце имеем два отрицательных коэффициента: —1 и —3. Производя указанным выше порядком деление соответствующих элементов первого столб-

103


ца на эти коэффициенты, получим следующие абсолютные значения

частного: — 1 — 5 и Следовательно,

за ведущий элемент должен быть принят коэффициент — 3 во вто­

ром столбце матрицы (VI. 14)

и поменять местами следует перемен­

ные

и х. Очевидно, при такой смене мест

переменных

должны

соблюдаться условия (VI.11) — (VIЛ3).

 

 

 

Из уравнения (VI.13)

найдем

 

 

 

 

 

 

 

 

 

 

 

(VI. 15)

Внося выражение (VI.15)

в уравнение (VI.12), получим

 

5. = 5 - - f + Y 5 2 + Т у - 2 у = 3 х + Т 5 г ~ 1 Т У -

(у1л6)

Наконец, подставив выражение

(VI.15)

в

равенство

(VI.11),

найдем

 

 

 

 

 

 

 

 

 

 

 

) +

'У =

 

 

=

5 —

1 — S2---- —у.

 

(VI.17)

 

 

3

3

3

у

 

 

Из уравнений (VI.15) — (VI.17)

выводим коэффициенты матри­

цы следующего базисного решения:

 

 

 

 

 

 

 

$2

У

 

 

 

 

L

1

1

1

 

 

 

 

 

—1 3

— 3

 

 

 

 

 

 

 

 

 

 

Si

2

1

9

 

 

 

 

3 3

3"

 

 

 

 

 

 

 

 

 

 

 

X

1

1

1

 

 

 

 

1 3

“ 3

“ 3

 

 

 

 

 

 

 

 

Полученная матрица (VI.18) удовлетворяет приведенному выше признаку оптимальности. Поэтому найдем нецелочисленное реше­ ние нашей задачи:

S , = 3 - j - , * = l - i - ; S 2 = y = 0;

Теперь с помощью дополнительных ограничений Гомори типа (VI.5) необходимо получить целочисленное решение нашей задачи. При формулировании этих ограничений обычно из первого столбца выбирается элемент с наибольшей неотрицательной дробной частью.

104