Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
92
Добавлен:
03.03.2015
Размер:
958.46 Кб
Скачать

3. Решение транспортных задач.

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

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

Лекция 12. Управление запасами.

1. Постановка задачи.

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

Обозначения:

t – отрезок времени;

xt – поступление на базу;

yt – уровень запасов на конец отрезка времени t;

dt – поставка МТР.

Критерий оптимизации:

ΣСt(xt, yt) → min Суммарные затраты на всех отрезках времени t должны быть минимальны.

Ct = c(xt) + h(yt) Стоимость приобретения и затраты на хранение.

Ограничения:

Все значения неотрицательные числа.

Все dt известны (известен план поставок).

Известно число интервалов t=n.

Целочисленность объемов приобретения xt=0, 1, …, N.

Нулевой уровень запасов на конец отрезка n, yn=0.

Баланс поступления и расхода МТР yt = y(t-1) + xt – dt

y(t-1) – yt +xt = dt.

  1. Решение задачи

-d3

у4=0

у3

у2

у0

у1

х4

х3

х2

х1

-d4

-dх2

-dх1

Схема, отражающая движение запасов

Динамическое программирование (Беллман Р., 1950 г.) – раздел математики, занимающийся вопросами оптимального многошагового управления. Многошаговость управления означает, что оно разбивается на ряд последовательных шагов, соответствующих различным моментам времени. Трудность решения задач многошагового управления определяется тем, что в них требуется определять большое число взаимосвязанных параметров. Поэтому усилия направлены на то, чтобы свести одну сложную задачу к большому числу значительно более простых задач на экстремум.

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

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

Пусть

fn(y) – затраты, отвечающие стратегии минимизации затрат на n оставшихся отрезков при начальном уровне запасов y.

xn(y) – закупки, обеспечивающие достижение fn(y).

n=0 f0(0) = 0. Затраты на 0-ом интервале равны 0.

n=1 f1 = C1(d1-y, 0). y = 0, 1, …, d1.

Запасы у – любые, но не более d1.

Затраты на пробретение d1-y и хранение (0)

n=2 f2 = C2(x, y+x-d2) + f1(y+x-d2)

Затраты на 2 интервала – сумма затрат на 2-ом и 1-ом интервалах

y+x-d2 уровень запасов на конец отрезка времени 2.

y = 0, 1,…, d1+d2 запас не выше расхода на 2 интервала

d2-y < = x <= d1+d2-y приобрести не более, чем расход на 2 интервале минус запас и не менее, чем общий расход минус запас.

f2 (y) =min [C2(x, y+x-d2) + f1(y+x-d2)]

n=3 Аналогичная логика

Рекуррентный алгоритм

fn(y) = min [Cn(x, y+x-dn) + f(n-1)(y+x-dn)] на все n–1 интервалов

n=1,2, …, N

y = 0, 1, …, d1+d2+…+dn

dn-y <= x <= d1+d2+…+dn – y