2.3. Задача о загрузке транспортного средства

Условие задачи. Транспортное средство грузоподъемностью М — 50 усл. ед. массы загружается предметами трех типов Т\,Т2,Т$, масса т и стоимость р усл. ден. ед. каждого из которых известны и приведены в таблице.

 

Ті

т2

Т3

771

11

17

23

Р

20

36

48

 

Требуется найти такой вариант загрузки, при котором стоимость перевозимого груза была бы максимальной.

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

Замечание 2. Интуитивно может показаться, что для достиже­ния максимума стоимости груза следует загружать транспортное сред­ство только теми предметами, для которых отношение р/т стоимости к массе — будем называть данное отношение ценностью предмета — является максимальным. Это предположение действительно верно при условии, что грузоподъемность транспортного средства кратна массе предмета с максимальной ценностью. При отсутствии кратности данный принцип может нарушаться. В качестве простейшего примера можно рассмотреть значение грузоподъемности М = 7 при двух типах предметов Т\ и Т2 со следующими параметрами:

 

Ті

т2

т

2

3

Р

5

9

 

Для предмета типа Т\ ценность p/m = 2,5, для предмета типа Т2 ценность p/m — 3. Использование предметов типа Т2 с большей цен­ностью позволяет погрузить два предмета общей стоимостью 18. В то же время загрузка одного предмета типа Т2 и двух предметов типа Т\ дает стоимость, равную 19. Дело в том, что при отсутствии нужной кратности остается неиспользованной часть грузоподъемности, кото­рую в некоторых случаях можно использовать более рационально. Таким образом, для решения данной задачи следует применить более точные методы, например метод ДП.

Решение. В данной задаче управляемой системой является за­гружаемое транспортное средство, многошаговым процессом — процесс планирования погрузки предметов. Экономический эффект представ­ляет стоимость груза, и при этом задача решается на поиск максимума. Проведем математическую формализацию поставленной задачи.

1.               Число шагов N в данной задаче следует принять равным 3, соответствующим числу типов погружаемых предметов: на первом шаге планируется погрузка предметов типа Т\, на втором шаге — предметов типа Т2, на третьем — типа Т3.

2.               В качестве фазовой переменной х, определяющей состояние си­стемы в ходе процесса, примем суммарную массу предметов, погру­женных в транспортное средство. Именно, переменная Х\ представляет массу предметов, погруженных в транспортное средство после первого шага процесса (т. е. только предметов типа Т\), х2 массу предметов, погруженных после второго шага (предметов типов Т\ и Т2), — массу предметов, погруженных после третьего шага процесса (пред­метов всех типов Т\, Т2 и Тз). Поскольку в начальный момент общая масса предметов, погруженных в транспортное средство, равна 0, то начальное состояние системы характеризуется значением Хо = 0. Чтобы не допустить перегруза транспортного средства, обязательно должно выполняться условие

Xi ^ М.

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

0,1,2,... .

4.               Функция процесса х, = /г(.7;г__1, щ). определяющая закон измене­ния состояния системы, для данной задачи представляется формулой

Хг = Жг_1 + Щ-ГП1

и имеет следующий смысл: суммарная масса Х{ предметов, погру­женных в транспортное средство после шага с номером г, равна сум­марной массе Х{-\ предметов, погруженных после предшествующего шага, плюс масса погруженных на текущем шаге предметов, равная щ-ггц — числу предметов, умноженному на массу каждого предмета.

5.                                                          Функция определяющая частный экономический эффект на шаге процесса с номером г, для данной задачи представляется формулой      _

Р1

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

2 2\ + 22 + 23.

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

Предварительный этап. Данный этап решения задачи про­водится в естественном порядке для г = 1,2,3, причем заполняются только первая строка вспомогательной таблицы и четыре левых столбца основной таблицы.

г = 1.

Вспомогательная таблица соответствует начальному условию жо = О и имеет вид

Хо

0

Во{хо)

96

 

Заполнение основной таблицы проводится обычным образом. Для заданного единственного допустимого значения хо = 0 выбираем все возможные значения управления щ и заносим их во второй столбец таблицы. При этом управление щ может принимать только целочис­ленные значения от 0 до 4 включительно, иначе возникнет перегруз. По формулам х\ = жо + щ ■ т\ и г\ = и\ • р\ (вытекающим из общих формул при г = 1) проводим расчет соответствующих значений пере­менных х\ и г\ и заносим их в третий и четвертый столбцы. Получаем основную таблицу:

х0

щ

Хі

21

Ві(®і)

гі+Вг

В00)

0

/0

0

0

96

96

96

 

1

И

20

72

92

 

 

2

22

40

48

88

 

 

/3

33

60

36

96

 

 

4

44

80

0

80

 

 

Переходим к следующему шагу. г = 2.

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

Х\

0

11

22

33

44

 

96

72

48

36

0

 

Для заполнения основной таблицы будем последовательно выбирать все допустимые значения х\, внесенные во вспомогательную таблицу, и проводить соответствующие расчеты. Для значения х\ = 0 находим все возможные значения управления (оно может принимать только значения 0, 1 и 2, иначе возникнет перегруз) и заносим их во второй столбец таблицы. По формулам х^ — хг_\ + щ ■ гпг и 2, = щ ■ Рг, взятым для г = 2, проводим расчет значений х-2 и 22 и заносим их в третий и четвертый столбцы. На этом завершается заполнение первого строчного фрагмента основной таблицы, соответствующего х\ = 0. Аналогично заполняются все остальные строчные фрагменты основной таблицы, которая принимает такой вид:

XI

«2

Х2

22

В22)

22 + В2

Ві(Хі)

0

/0

0

0

96

96

96

 

1

17

36

48

84

 

 

2

34

72

0

72

 


XI

«2

XI

22

В22)

г2 + В2

Вііхг)

11

0

11

0

48

48

72

 

1

28

36

0

36

 

 

/2

45

72

0

72

 

22

/0

22

0

48

48

48

 

1

39

36

0

36

 

33

0

33

0

0

0

36

 

/1

50

36

0

36

 

44

0

44

0

0

0

0

 

Переходим к следующему шагу, г = 3.

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

х2

0

И

17

22

28

33

34

39

44

45

50

В22)

96

48

48

48

0

0

0

0

0

0

0

Заполнение основной таблицы проводим обычным образом:


 

х2

из

хз

23

Вз(хз)

2з + Вз

в22)

0

0

0

0

0

0

96

 

1

23

48

0

48

 

 

/2

46

96

0

96

 

11

0

11

0

0

0

48

 

/1

34

48

0

48

 

17

0

17

0

0

0

48

 

/1

40

48

0

48

 

22

0

22

0

0

0

48

 

/1

45

48

0

48

 

28

0

28

0

0

0

0

33

0

33

0

0

0

0

34

0

34

0

0

0

0

39

0

39

0

0

0

0

44

0

44

0

0

0

0

45

0

45

0

0

0

0

50

0

50

0

0

0

0

 

На этом предварительный этап завершен. Приступаем к проведению этапа условной оптимизации.

Этап условной оптимизации. Данный этап непосредственно связан с вычислением функций В^(х{) и проводится в обратном по­рядке для г = 3,2,1. Поскольку в соответствии с общим принципом оптимальности Беллмана имеет место равенство В33) = 0, то в пя­тый столбец основной таблицы, полученной при г = 3, записываем нулевые значения. При этом в шестой столбец записываются суммы соответствующих чисел из двух предшествующих столбцов, а в по­следний столбец заносится максимум из всех чисел шестого столбца для каждого строчного фрагмента отдельно. Полученные значения функции В2(х2) заносятся во вторую строку вспомогательной таблицы. Заполненные таблицы уже приведены выше. Аналогично завершается заполнение основных и вспомогательных таблиц для г = 2 и г = 1. Обратим внимание, что в основной таблице для г = 1 имеется два знака «/», показывающие, что искомый максимум достигается на двух значениях управления; это может привести к наличию нескольких оптимальных решений. Приступаем к этапу безусловной оптимизации.

Этап безусловной оптимизации. На данном этапе определя­ются оптимальное значение задачи Z* и оптимальное управление (и*, «2, «з). Поскольку начальное состояние хо = 0 задано однозначно, то Z* = Во(хо) = 96, = хо = 0. Для построения оптимального управ­ления просмотрим все заполненные основные таблицы в естественном порядке при г = 1,2,3, используя отмеченные знаками «/» строки, содержащие условно-оптимальные значения управления. Получаем такую последовательность шагов.

г = 1.

В соответствующей основной таблице условно-оптимальными явля­ются два значения управления щ = 0 и щ = 3, отмеченные знаком «/». Это означает, что задача имеет не одно, а несколько оптимальных ре­шений. Построим сначала первое решение, соответствующее и\ = 0 и х\ = 0.

г = 2.

На данном шаге из второй основной таблицы выбираем тот строч­ный фрагмент, который соответствует уже найденному на предше­ствующем шаге оптимальному значению ж* = 0. В этом фрагменте условно-оптимальным является единственное управление «2 = 0, от­меченное знаком «/»; полагаем и*2 = 0, и в той же строке таблицы находим ж2 = 0.

г = 3.

Из третьей основной таблицы выбираем тот строчный фрагмент, который соответствует найденному на предшествующем шаге х*2 = 0. В этом фрагменте условно-оптимальным является единственное управ­ление «з = 2, отмеченное знаком «/»; полагаем и3 = 2, и в той же строке таблицы находим х\ — 46.

На этом построение первого оптимального решения задачи, имею­щего вид (0,0,2), завершено. Проведем построение второго оптималь­ного решения, соответствующего — 3, проходя все основные таблицы еще раз.

i = 1: Xq = 0, и* = 3, х[ = 33. i = 2: х\ — 33, «2 = 1, ^2 = 50. г = 3: х2 = 50, и*3 = 0, х*3 = 50.

Следовательно, второе оптимальное решение имеет вид (3,1,0). Других оптимальных решений задача не имеет.

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

Ответ: максимум стоимости погружаемых в транспортное средство

предметов равен 96 усл. ден. ед. При этом существуют два варианта

оптимальной загрузки:

1)               погрузить 2 предмета типа Т3\

2)               погрузить 3 предмета типа Т\ и 1 предмет типа

К постановке и решению данной задачи необходимо сделать ряд следующих замечаний.

Замечание 3. Обратим внимание на структуру полученных опти­мальных решений. Первое решение (0,0,2) вообще не содержит пред­метов типа Т2 с максимальной ценностью р2/т^ = 2,12.... Второе решение (3,1,0) содержит 3 предмета типа Т\ с минимальной цен­ностью Pi/mi = 1,82.... Таким образом, оба оптимальных решения задачи далеки от того, чтобы использовать только предметы с мак­симальной ценностью.Замечание 4. Как легко видеть, целевая функция Z данной задачи возрастает при условии, что количество предметов одного типа увеличивается, а количество предметов других типов не изменя­ется. Поэтому при планировании последнего шага погрузки для i = 3 можно ограничиться рассмотрением лишь тех значений переменной «з, которые являются максимально допустимыми при фиксированном значении х2. Это подтверждает и вид последней основной таблицы: в ней знаки «V» расположены только у максимальных в своем строч­ном фрагменте значений щ. Учитывая сказанное, объем вычислений можно несколько сократить, а первые четыре строчных фрагмента основной таблицы для г = 3, соответствующие х2 0, 11, 17, 22, записать в следующем виде:

Х2

«з

23

23

В33)

23+Вз

В22)

0

2

46

96

0

96

96

11

1

34

48

0

48

48

17

1

40

48

0

48

■ 48

22

1

45

48

0

48

48

 

Подчеркнем, что сказанное относится только к последнему шагу и не может быть распространено на случаи ! = 1 и г = 2, поскольку увеличение числа предметов типов Т\ или Т2 может в силу ограни­чения по грузоподъемности привести к вынужденному уменьшению числа предметов типа Т3.

Замечание 5. Аналогично решается задача о загрузке транспорт­ного средства с дополнительным условием, что число погруженных предметов типа Тг должно быть не менее к, , где кг — заданные целые неотрицательные числа. Для решения такой задачи вычисляется масса

7п = к\тп,\ + к2т2 + кзтз

требуемого набора предметов. Если т > М, то задача о загрузке с дополнительным условием решения не имеет. Если 771 = М, то ре­шение и* = к±, и*2 = к2, «з = кз будет являться оптимальным. Если же 771 < М, то решение сводится к рассмотрению обычной задачи о загрузке с грузоподъемностью М — т > 0.

Замечание 6. Обсудим на примере рассмотренных задач вопрос о значимости предварительного этапа метода ДП. Как уже отмечалось выше в гл. 1 и было продемонстрировано в ходе решения, на данном этапе вычисляются все допустимые значения фазовых и управляющих переменных (в частности, области определения функций Беллмана или содержащие их множества). В ряде случаев предварительный этап оказывается малоинформативным. Например, в рассмотренной выше задаче о распределении инвестиций на этом этапе помимо элемен­тарных расчетов лишь подтверждено очевидное умозаключение, что фазовые переменные х,\ и х2 могут принимать все целочисленные зна­чения от 0 до 5 включительно. Заметим тем не менее, что никакой излишней вычислительной работы на данном этапе проведено не было, поскольку все результаты предварительного этапа были использованы на последующем этапе условной оптимизации.

Для рассматриваемой задачи о загрузке ситуация несколько меня­ется. Проведение предварительного этапа позволило нам при вычис­лении функции В22) ограничиться рассмотрением одиннадцати зна­чений переменной Х2= 0, 11, 17, ..., 50; остальные значения являются просто нереализуемыми. Этот набор чисел представляет собой область определения функции _В2(ж2). Без проведения предварительного этапа нам пришлось бы начинать расчеты с этапа условной оптимизации для i = 3, причем сразу бы возник вопрос: для каких значений х2 необходимо вычислять функцию В2{х2)1 Конечно, по смыслу задачи 0 ^ X2 ^ M = 50, но в этом промежутке содержится бесконечное мно­жество чисел. Учитывая целочисленность масс предметов всех типов, мы можем сделать вывод и о целочисленности переменной Х2 и ограни­читься вычислениями В22) только для целых чисел от 0 до 50. Таких чисел всего 51, что значительно больше 11 допустимых значений, вы­явленных на предварительном этапе. Таким образом, проведение пред­варительного этапа позволяет заметно сократить объем вычислений.

Если условие целочисленности масс предметов не выполняется, что вполне может быть в реальных задачах, то ситуация усложняется. Дей­ствительно, пусть массы предметов заданы с точностью 0,1 усл. ед. (например, можно принять mi=10,8, ТП2=17,4, тз=23,7; оптимальные решения и оптимальное значение задачи при этом не изменятся). То­гда переменная х2 как сумма масс предметов типов Т\ и Т2 тоже обязана иметь точность представления 0,1; в промежутке от 0 до 50 такая переменная может принимать 501 значение, и число подлежа­щих рассмотрению вариантов возрастает практически на порядок. В то же время проведение предварительного этапа позволяет выявить, как и выше, всего 11 допустимых значений переменной х2 (среди которых большинство не являются целыми, а представлены с точностью 0,1). Аналогичная ситуация возникает и в том случае, когда условие цело­численности масс сохраняется, а грузоподъемность увеличивается в 10 раз до значения M = 500.

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

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

Замечание 7. Другим подходом к сокращению объема вычисле­ний является попытка вычисления функций Беллмана в явном виде сразу для всех значений фазовых переменных. Для данной задачи при 1 = 3 с учетом свойства Дз (х3) = 0 получаем:

В22) = тах{р3 щ | х3 = х2 + т3 • и3},

из

где максимум берется по всем целым неотрицательным значениям «з, обеспечивающим выполнение условия х3 м. Из этого условия следует, что

М - х2

из ^

т3

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


 М - х2

М - х2 т3

йз(х2) =

т3

В22) =Рз


 Полученные выражения являются достаточно простыми, но уже для следующего шага г = 2 ситуация усложняется:

М - хі - т2 ■ и2 т3

5х(ж1) = тах{р2 и2 + В22) | х2 = + т2 ■ и2} =

= тах< р2 ■ и2 + рз

П2 ^

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

М - хг

т2

Вычисление последнего максимума уже не является элементарной за­дачей, поскольку с ростом «2 первое слагаемое в сумме возрастает, а второе — убывает. Отметим, что усложнение вычислений функций Беллмана от шага к шагу является характерной чертой метода ДП. Тем самым и попытка решить задачу в общем виде приводит к су­щественным трудностям, многие из которых позволяет обойти пред­варительный этап метода ДП.

Замечание 8. В продолжение обсуждения рассматриваемой за­дачи о загрузке приведем дополнительные рассуждения, позволяющие в отдельных случаях уменьшить объем вычислений. Предположим, что все типы Т\, Т2, ... погружаемых предметов упорядочены по возраста­нию их ценности, причем (для простоты) все ценности будем считать различными:

гпх т2

Пусть (щ,и2,-..) — некоторое допустимое решение задачи, т.е. и1,112 • • ■ ■—целые неотрицательные числа, для которых выполняется ограничение по массе

т 1«1 + ГП2«2 + пг' ^ М; при этом стоимость погруженных предметов равна

Р1Щ +Р2П2+Р1,

где через т! и р' обозначены масса и стоимость предметов, номера типов которых больше 2. Тогда при выполнении условия

-1

„ ^ I т 1 РГ и\ > I------------------------

2 р2

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

VI , , . тх щ + 1 ^ —щ, Р2           т2

показывающее, что расстояние на числовой оси между числами

Р\                                         тх

—и\ и —«1 Р2          т2не меньше 1. По этой причине существует такое целое число 1$2 (в ка­честве &2 можно взять целую часть числа (т\/т2)и1)^ ДЛЯ котороговыполняются неравенства

Р1 ^ , ^ ГП\

Щ < К2 ^ ----------------------------- Щ.

Р2                                          т2

Тогда вектор (0, «2 + ^2, • • •) в силу неравенств

Щ\ • 0 + т2(«2 + к2) + т' ^ т2и2 + т2 —щ +т! <М

т2

является допустимым решением и с учетом соотношений

р1 ■ О + р22 + к2) +р' > р2«2 + р2 —«1 + р' = р2и2 + рги 1 + р'

Р 2

дает большее значение стоимости, чем исходный вектор  ...).

Иными словами, мы показали, что погрузка слишком большого коли­чества предметов типа Т\ малой ценности не является целесообразной, что полностью соответствует интуитивным представлениям и конкре­тизирует их. Для рассматриваемой задачи

— = 1,82, — = 2,12, (Ч-ау1 = 10,93

тпх                     т2                \т2 р2)

= 7

(здесь получаемые значения округлены до второго знака после за­пятой). Это означает, что погружать 11 и более предметов типа Т\ невыгодно: погрузка надлежащего числа предметов типа Т2 в этом случае даст большее значение стоимости. Например, 12 предметов типа Т\ имеют массу 132 и стоимость 240; в то же время предметы типа Т2 в количестве

12

т2

имеют массу 119 < 132 и стоимость 252 > 240. Конечно, грузоподъем­ность М = 50 вообще не позволит погрузить 12 предметов типа Т\, но если принять, например, М = 250, то таких предметов можно будет погрузить

= 22.

250

ТГ

и учет условия избыточности позволит сократить число рассматри­ваемых вариантов погрузки предметов этого типа примерно вдвое. Заметим, что условие избыточности малоценных предметов типа Т\ можно обобщить и записать в виде

-1-

і> 1 [ \ ГПі Рі ) )

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

Замечание 9. В заключение раздела приведем постановку еще одной задачи, математическая формализация и решение которой про­водятся в полной аналогии с рассмотренной задачей о загрузке. Од­нородная заготовка длиной М (деревянный брус, металлический про­филь, пластиковая труба) должна быть разрезана на несколько от­дельных деталей, относящихся к одному из N типов. Длины деталей различных типов равны та их стоимости равны Рг, г = 1,2, ...,ЛГ (потерями материала при разрезании для упрощения задачи прене­брегаем). Требуется определить такой способ разреза заготовки, при котором суммарная стоимость получаемых деталей была бы макси­мальной. Данный пример показывает, что зачастую различным образом формулируемые задачи с различным экономическим содержанием мо­гут быть приведены к одной математический модели и решены одним методом.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 
25 26 27  Наверх ↑