Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алабин Б.К. Курс лекций по методам исследования операций.doc
Скачиваний:
57
Добавлен:
02.05.2014
Размер:
1.54 Mб
Скачать

2.9. Последовательные графы в им

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

Пусть на орграфе без контуров задана порядковая функция, т.е. все вершины графа распределены по уровням Е0, Е1,…, Еn.

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

По определению последовательный граф всегда обладает порядковой функцией. Достоинства последовательного графа:

  1. можно оптимизировать по частям;

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

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

Пример (продолжение предыдущего) (рис. 2.5).

Рис. 2.5

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

2.10. Решение задачи распределения ресурсов индексным методом

Введем обозначения:

S – начальная сумма ресурса (средств), выраженная в некотором масштабе;

n – число предприятий;

xi – средства, выделяемые i-му предприятию;

φi(xi) – функции дохода (издержек) для i-го предприятия (задано!).

Условие:

Пример (исходные данные).

Пусть S = 3 (в масштабе), n = 4.

xi

φ1(x1)

φ2(x2)

φ3(x3)

φ4(x4)

0

1

2

3

5

8

10

11

3

6

9

11

2

3

4

7

2

5

6

8

Задача. При заданном условии найти такое распределение заданной суммы средств S по n предприятиям (xi = ?), при котором

Решение этой задачи сводится к решению задачи маршрутизации на последовательном графе. Обратимся к его построению.

Пусть один шаг есть выделение средств очередному предприятию. При n = 4 имеем 4 шага. Тем самым определены уровни Еi для последовательного графа: Е0, Е1,…, Е4.

Для каждого шага введем параметр состояния Si и для каждого значения переменной Si отведем вершину аiEi последовательного графа. Таким образом, каждая вершина графа аi получает имя виде значения переменной Si на уровне Ei. Определим переменную Si.

I определение переменной состояния. Пусть Si есть сумма средств, выделенных первым i предприятиям:

Si = 0, 1,…, S; i = 0, 1, 2,…, n.

Соответственно S0 = 0, Sn = S. Тем самым определены начальная и конечная вершины графа: a0 = S0, an = Sn. Для нашего примера a0 = 0, a4 = 3.

Определим состав уровня Е1. Ясно, что первому предприятию можно выдать любую сумму средств от нуля до S, т.е. в примере х1 = 0, 1, 2, 3. А значит, переменная состояния S1 принимает те же значения, так как S1 = х1. Следовательно, a1 = S1 = 0, 1, 2, 3, т.е. Е1 = {0, 1, 2, 3}. При этом определяются и веса дуг: v(a0, a1) = x1(a0, a1). В нашем примере имеем:

v(0, 0) = 0,

v(0, 1) = 1,

v(0, 2) = 2,

v(0, 3) = 3.

Обратимся к построению уровня Е2. Ясно, что второму предприятию можно выделить средств не более остатка после выделения первому. А так как S2 = x1 + x2 = S1 + x2 и, как и S1, не превышает S, то для данного примера имеем:

– если S1 = 0, то x2 = 0, 1, 2, 3; S2 = 0, 1, 2, 3;

– если S1 = 1, то x2 = 0, 1, 2; S2 = 1, 2, 3;

– если S1 = 2, то x2 = 0, 1; S2 = 2, 3;

– если S1 = 3, то x2 = 0; S2 = 3.

При этом S2, как и S1, пробегает те же значения, т.е. S2 = 0, 1, 2, 3. А значит, и а2 = 0, 1, 2, 3 на уровне Е2, причем:

– для а2 = 0 имеем одну входящую дугу;

– для а2 = 1 имеем две входящих дуги;

– для а2 = 2 имеем три входящих дуги;

– для а2 = 3 имеем четыре входящих дуги.

Все последующие уровни Еi, 2 < i < n, строятся совершенно аналогично, так как Si = Si – 1 + xiS. Исключение составляет последний шаг, т.е. переход к En, где по условию Sn = S в точности.

Построенный граф, в котором ai = Si, очевидно, является последовательным и выглядит следующим образом (рис. 2.6).

На таком графе еще нет задачи, так как для любого пути S(a0, an) его длина равна

по условию.

Рис. 2.6

Задача возникает, когда дугам в соответствии с хi приписывается функция дохода (или издержек) φi(xi) в качестве веса. Возникающую при этом суммарную величину

на каждом i-м шаге и следует оптимизировать. Как и Si, функция F(Si) приписывается вершинам в качестве веса. В таком случае F(Si) = = I(ai), так как ai = Si на графе.

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

F(Si) = F(Si – 1) + φi(xi),

F(S0) ≡ 0,

оpt Fц = F(Sn)

при прямом ходе.

При обратном ходе, как и в задаче маршрутизации, будем иметь:

F(Si) = F(Si + 1) + φi + 1(xi + 1),

F(Sn) ≡ 0,

оpt Fц = F(S0).

Замечание. Чтобы помнить, какие величины фигурируют на графе, полезно иметь в виду табличку:

Дуги

Вершины

1)

xi

2)

φi(xi)

II определение переменной состояния.

Пусть Si – есть остаток средств после выделения первым i предприятиям:

Si = S, S – 1,…, 0.

Для построения графа задачи здесь применяется та же схема рассуждений, но с единственной поправкой: Si(II) = SSi(I). Эта по-

правка приводит к тому, что

S0 = S – 0 ≡ S,

S1 = Sx1,

S2 = S – (x1 + x2),

………………

Sn = SS ≡ 0.

Все остальные переменные сохраняют прежний смысл.

Читателю полезно провести это построение самостоятельно, сделав замену Si(II) = SSi (I). В результате также получим последовательный граф, но симметричный первому (рис. 2.7).

И последнее. Решая исходную задачу как задачу маршрутизации на последовательном графе, независимо от определения переменной состояния Si получим opt последовательность вершин a0 a1an (или an an–1 ao), соответствующую последовательности состояний S0 S1 Sn (или Sn Sn–1 S0). Однако это еще не решение задачи распределения ресурсов, так как требуется от переменных состояния Si перейти к переменным управления хi. Сделать это можно, используя определение Si. Действительно, независимо от хода для I определения переменной Si будем иметь: xi = Si Si – 1, так как Si монотонно не убывающая величина. При II определении Si – монотонно не возрастающая величина. Поэтому xi = Si – 1 Si.

Рис. 2.7

Таким образом, в любом случае xi = |Si S 1| независимо ни от хода, ни от определения переменной состояния Si. В результате получим последовательность переменных х1 х2 хn, при которой целевая функция Fц = opt. Задача решена.

Тема 3

МЕТОД ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ (ДП)

3.1. Общее замечание

Принципиально постановки всех задач, решаемых методом ДП, отличаются:

  1. показателем эффективности, который определяет критерий эффективности (целевая функция);

  2. видом уравнения состояний.

Оба определяют основные для вычислительной схемы функциональные уравнения (уравнения Беллмана). По форме функциональные уравнения не отличаются, поэтому и вычислительная схема для всех задач неизменна.

3.2. Общая постановка задачи ДП

Пусть So – начальное состояние системы, Sn – конечное состояние системы, U (иногда X) – допустимое управление системой (набор допустимых показателей), Z = Ф(SoU) или Z = Ф(Sn, U) – показатель эффективности (целевая функция).

Требуется определить допустимое управление системой U, переводящее систему из начального состояния S0 в конечное Sn, при котором Z достигает оптимума (максимума или минимума).

3.3. Построение модели ДП (для обратного хода)

  1. Выбирают способ деления процесса на шаги.

  2. Вводят в рассмотрение переменные состояния Sk и переменные управления uk на каждом шаге процесса, 1  kn.

  3. Записывают уравнение состояния

Sk = F (Sk–1, uk). (тип 1)

4. Вводят в рассмотрение заданный показатель эффективности на k-м шаге fk (Sk–1, uk) и записывают суммарный показатель (целевую функцию)

(тип 2)

  1. Вводят в рассмотрение условные оптимумы показателя эффективности Zk(Sk–1) от k-го шага (включительно) до конца процесса и условные оптимальные управления на k-ом шаге uk (Sk–1).

  2. Из ограничений задачи определяют для каждого шага множества Dk допустимых управлений на этом шаге.

  3. Записывают основные для вычислительной схемы ДП функциональные уравнения Беллмана:

(тип 3)

так как еслиилиесли

(тип 4)

Таким образом, в результате для конкретной задачи получаем модель ДП в виде системы (n + 2) уравнений, в которой различаются 4 типа уравнений:

  1. уравнение состояний Sk =…,

  2. общий суммарный показатель эффективности: Z =…,

  3. условный оптимум показателя эффективности для исходного шага Zn (или Z0) =…,

  4. условный оптимум суммарного показателя эффективности для каждого k-го шага Zk =…

Соседние файлы в предмете Методы оптимизации