Скачиваний:
379
Добавлен:
01.08.2013
Размер:
3.16 Mб
Скачать

Метод минимальной стоимости

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

Составим с помощью этого метода опорный план уже рассмотренной задачи. Выбираем в таблице наименьшую стоимость (эта стоимость, помещенная в клетке A2B3). Помещаем туда единиц. Исключаем из рассмотрения 3-й столбец и распределим дальше, пока все запасы не будут распределены, а потребности удовлетворены.

Таблица 6.4

Составление опорного плана по методу наименьшей стоимости

В1

В2

В3

В4

В5

Запасы

А1

60 2

70 3

4

10 2

4

140

А2

8

4

120 1

14

60 1

180

А3

9

7

3

120 7

40 2

160

Потребности

60

70

120

130

100

480

В результате получаем план: X=(x11=60, x12=70, x14=10, x23=120, x25=60, x34=120, x35=40), остальные переменные равны нулю. План не содержит циклов и состоит из семи положительных перевозок, следовательно, является невырожденным опорнымпланом. Определим его стоимость:

(ст.ед.).

Общая стоимость уменьшилась. Этот метод даёт более близкий к оптимальному план, чем метод северо-западного угла. Ещё существуют такие методы построения первоначального опорного плана, как метод двойного предпочтения, метод аппроксимации Фогеля.

Опорный первоначальный план имеется. Теперь для получения оптимального плана используем метод потенциалов (модифицированный распределительный метод).

Теорема 6.2. Если план транспортной задачи является оптимальным, то ему соответствует система изчисели, удовлетворяющих условиямдляидля.

Числа иназываются потенциалами соответственно поставщиков и потребителей.

На основании этой теоремы для того, чтобы первоначальный опорный план был оптимальным, необходимо выполнение следующих условий:

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

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

.

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

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

Таким образом, для проверки плана на оптимальность необходимо сначала построить систему потенциалов.

Рассмотрим алгоритм метода потенциалов и одновременно проиллюстрируем его применение на опорном плане, полученном в таблице. Для этого к таблице добавим строку и столбец, в которых записывают значения потенциалов. Алгоритм метода потенциалов состоит в следующем:

  1. Построение опорного плана методом северо-западного угла или с учётом наименьших затрат. Этот этап уже выполнен.

  2. Построение системы потенциалов. Для этого используем условие для занятых клеток. Систему потенциалов можно построить только для невырожденного опорного плана. Для него систему потенциалов строим следующим образом. Когда опорный план вырожденный, для устранения этого дополняют количество занятых клеток до, вводя нулевые перевозки. Клетки, в которые введены нулевые перевозки, называютсяфиктивно занятыми. Целесообразно сделать фиктивно занятой клетку, в которой стоит наименьшая стоимость, но так, чтобы сохранилась ацикличность. Фиктивно занятую клетку делаем в той строке или столбце, оценки (потенциалы) которых неизвестны. После того, как построена система потенциалов (табл. 6.5), переходим к третьему этапу.

  3. Проверка выполнения условия оптимальности для незанятых клеток. Просматриваем строки таблицы и для каждой незанятой клетки проверяем выполнение условия . Если это условие для всех незанятых клеток выполним, то план оптимальный. Для каждой клетки, в которой не выполняется условие оптимальности, находим величину разностии записываем её значения в левый нижний угол этой же клетки. Таких клеток две: (2,2) и (3,2). Разности равны 3 и 1 (табл. 6.5).

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

Таблица 6.5

Выполнение первого цикла алгоритма метода потенциалов

Матрица

планирования

B1

B2

B3

B4

B5

    1. За-

Постав-щики

vj

ui

v1=2

v2=3

v3=-3

v4=2

v5=-3

пасы

A1

u1=0

60 2

70 _ 3

4

10 + 2

4

140

A2

u2=4

8

 + 4

120 1

14

60 – 1

180

A3

u3=5

9

7

3

120 _ 7

40 + 2

160

Потребности

60

70

120

130

100

480

  1. Построение цикла и определение величины перераспределения груза. Для определения количества единиц груза, подлежащих перераспределению, отмечаем знаком ''+'' незанятую клетку, которую надо загрузить. Это означает, что клетка присоединяется к занятым клеткам, т.е. включается в базис. В таблице занятых клеток стало , поэтому появляется цикл, все вершины которого, за исключением клетки, отмеченной ''+'', находятся в занятых клетках, причём этот цикл единственный. Отыскиваем цикл. Его вид может быть разным (рис. 6.1). Они могут быть самопересекающимися, но точки пересечения – не вершины.

Начинаем движение от клетки, отмеченной знаком "+", и, двигаясь по циклу, поочерёдно проставляем знаки "–", "+" в вершинах цикла. Затем находим , где– величины перевозок, стоящие в вершинах цикла, отмеченные знаком "–". У нас это. Величинаопределяет, сколько единиц груза можно перераспределить по найденному циклу. Значениезаписываем в незанятую клетку, отмеченную знаком "+", двигаясь по циклу, вычитаемиз объёмов перевозок, расположенных в клетках, которые отмечены знаком "–", и прибавляем к объёмам перевозок, находящимся в клетках, отмеченных знаком "+". Еслисоответствует несколько минимальных перевозок, то при вычитании оставляем в соответствующих клетках нулевые перевозки в таком количестве, чтобы во вновь полученном опорном плане занятых клеток было. В результате перераспределенияполучим новый невырожденный опорный план, который снова подлежит проверке на оптимальность (табл. 6.6).

Таблица 6.6

Выполнение второго цикла алгоритма метода потенциалов

Матрица

планирования

B1

B2

B3

B4

B5

    1. За-

Постав-

щики

vj

ui

v1=2

v2=3

v3=0

v4=2

v5=-3

пасы

A1

u1=0

60 2

10 _ 3

4

70 + 2

4

140

A2

u2=1

8

  1. + 4

120 _ 1

14

1

180

A3

u3=5

9

7

+  3

60 _ 7

100 2

160

Потребности

60

70

120

130

100

480

Вновь строим систему потенциалов и проверяем выполнение условия оптимальности для каждой незанятой клетки. Если получен снова неоптимальный план, повторяем процесс до тех пор, пока не будет выполняться условие оптимальности, т.е. возвращаемся на 2-й этап.

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

Новый план представлен в таблице 6.7. Полученный опорный план удовлетворяет условиям оптимальности.

Таблица 6.7

Итоговая матрица планирования транспортной задачи

Матрица

планирования

B1

B2

B3

B4

B5

    1. Запасы

Постав-щики

vj

ui

v1=7

v2=6

v3=3

v4=7

v5=2

A1

u1=-5

60 2

3

4

80 2

4

140

A2

u2=-2

8

70 4

110 1

14

1

180

A3

u3=0

9

7

10 3

50 7

100 2

160

Потребности

60

70

120

130

100

480

Значение функции

(ст. ед.).

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

Пример 6.2. На предприятии имеется четыре группы станков, каждый из которых может выполнять 5 видов элементарных операций по обработке детали, причём операции могут производиться в любом порядке. Максимальное время работы каждой из групп станков соответственно равно 320, 400, 240 и 400 ч; каждая операция должна выполняться в течение 336, 224, 224, 288 и 288 ч.

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

Решение.

Чтобы преобразовать задачу на минимум, все берём со знаком "-", составим первоначальный опорный план по наименьшим затратам (табл. 6.8).

Таблица 6.8

Первый цикл алгоритма решения станковой задачи в виде транспортной

        1. Матрица

Потребители

За-

планирования

B1

B2

B3

B4

B5

пасы

Постав-щики

          1. vj

ui

v1=0

v2=-3

v3=-3

v4=-2

v5=-2

ai

A1

u1=-3

 + -4

-3

224 -6

-2

96 _ -5

320

A2

u2=-3

112 -3

-4

-3

288 -5

-2

400

A3

u3=-2

48 _ -2

-5

-4

-3

192 -4

+

240

A4

u4=-3

176 -3

224 -6

-5

-4

-3

400

bj

336

224

224

288

288

1360

(единиц). Осуществим перераспределение поставок по циклу, состоящему из клеток (1,1), (1,5), (3,1), (3,5). Получаем новый опорный план закрепления операций за станками. Он является оптимальным (табл 6.9).

Таблица 6.9

Итоговая матрица планирования примера 6.2

        1. Матрица

Потребители

планирования

B1

B2

B3

B4

B5

Запа-

Постав-щики

          1. vj

ui

v1=0

v2=-3

v3=-2

v4=-2

v5=-1

сы

ai

A1

u1=-4

48 -4

-3

224 -6

-2

48 -5

320

A2

u2=-3

112 -3

-4

-3

288 -5

-2

400

A3

u3=-3

-2

-5

-4

-3

240 -4

240

A4

u4=-3

176 -3

224 -6

-5

-4

-3

400

bj

336

224

224

288

288

1360

Таким образом, для того чтобы обработать максимальное количество деталей, необходимо, чтобы первая группа станков выполняла первую операцию 48 ч, третью операцию 224 ч, пятую операцию 48 ч, а вторая группа выполняла первую операцию 112 ч, четвёртую 288 ч. и т. д. При этом будут обработаны: на первой операции 1056 деталей , на второй операции 1344 деталей, на третьей операции 1344 деталей, на четвёртой 1440 деталей, на пятой 1200 деталей, т.е. полностью можно обработать 1056 деталей.

Рассмотрим станковую задачу в другом виде.

Пример 6.3. Условия задачи.

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

.

Эта задача аналогична задаче выбора (о назначениях).

Решение.

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

а закрепление каждой из операций только на одном станке – равенствами:

Требуется найти такие значения неизвестных , удовлетворяющие системам линейных уравнений и равные 0 или 1, при которых функция

F=2х11+4х12+6х13+8х14+3х1521+3х22+2х23+7х24+6х25+7х31+2х32+ +4х33+5х34+8х35+9х4142+3х43+4х44+6х45+3х51+2х5253+4х54+5х55

принимает минимальное значение. Первоначальный опорный план получим методом двойного предпочтения (табл.6.10).

Для построения системы потенциалов должно быть 9 занятых клеток. У нас 5 единиц, введём в базис 4 нулевых клетки (по возможности в клетки с наименьшей стоимостью). Полученный опорный план оптимален.

S==11.

Оптимальным планом является план, согласно которому на первом станке выполняется пятая операция, на втором станке выполняется первая операция, на третьем станке – четвёртая, на четвёртом станке – вторая, на пятом станке – третья операция. Можно заметить, что клетка (4,4) имеет нулевую оценку, т.е. если перераспределить третий станок за второй операцией, а четвёртый за четвёртой операцией, то значение S=11 не изменится, т.е. такой план также оптимален.

Таблица 6.10

Решение станковой задачи в виде задачи выбора (о назначениях)

Станки

Операции

За каждым станком

закреп-

1

2

3

4

5

лена

Vj

Ui

v1=2

v2=3

v3=3

v4=6

v5=3

одна операция

I

u1=0

0 V 2

4

6

8

1 V 3

1

II

u2=-1

1 V V 1

3

0 2

7

6

1

III

u3=-1

7

0 V 2

4

1 5

8

1

IV

u4=-2

9

1 V V 1

3

0 4

6

1

V

u5=-2

3

2

1V V 1

0 V 4

5

1

Каждая операция выполняется только на одном станке

1

1

1

1

1

5