Математическое программирование в экономике Автор: Лаврушина Е.Г.

advertisement
Математическое
программирование
в экономике
Автор: Лаврушина Е.Г.
Основные вопросы лекции:
 Линейное программирование: типовые
задачи и методы их решения.
 Нелинейное программирование.
 Динамическое программирование.
Оптимизация распределения капитальных
вложений между предприятиями методом
динамического программирования.
 Принцип Парето.
Линейное программирование (ЛП):
типовые задачи и методы их решения
Для решения задач линейного
программирования разработано сложное
программное обеспечение, дающее
возможность эффективно и надежно решать
практические задачи больших объемов.
Эти программы и системы снабжены
развитыми системами подготовки исходных
данных, средствами их анализа и
представления полученных результатов.
Создание модели
линейного программирования
Процесс построения математической модели
можно представить как ответы на следующие
три вопроса:
 1. Для определения каких величин должна быть
построена модель?
 2. Какие ограничения должны быть наложены на
переменные, чтобы выполнить условия,
отраженные в содержательной постановке задачи?
 3. В чем состоит цель, для достижения которой из
всех допустимых значений переменных нужно
выбрать те, которые будут соответствовать
оптимальному (наилучшему) решению задачи?
В завиcимоcти от конкретной cитуации,
опиcываемой моделью, целевая функция и
cиcтема ограничений включает разнообразные по
cоcтаву и количеcтву выражения.
Любая произвольная задача ЛП может быть
cведена к одной из двух общепринятых форм
запиcи модели ЛП - cтандартной и
каноничеcкой.
Стандартная задача ЛП
Cтандартной задачей называетcя cледующая форма
запиcи задачи ЛП:
Cреди вcех неотрицательных решений,
удовлетворяющих cиcтеме линейных неравенcтв,
выбрать такое, при котором линейная форма
принимает минимальное значение
F  c0  c1 x1  c2 x2    cn xn  min
 a11 x1  a12 x2  a13 x3    a1n xn  b1
a x  a x
 a23 x3    a2 n xn  b2
 21 1
22 2

.........
..............
......... .....
 .......
am1 x1  am 2 x2  am3 x3    amn xn  bm
Каноническая задача ЛП
Канонической задачей называется следующая
форма записи задачи ЛП:
Среди всех неотрицательных решений системы
уравнений выбрать такое, при котором
линейная форма принимает минимальное
значение.
P  p0  p1 x1  p2 x2    pt xt  min
 11x1  12 x2  13 x3    1t xt  d1
 x  a x   x     x  d
 21 1
22 2
23 3
2t t
2

.........
.............. ......... .....
 .......
  s1 x1   s 2 x2   s 3 x3     st xt  d s
Решение задач графическим методом
 1-й этап. Перейти к стандартной форме
записи модели. если число переменных в
системе ограничений равно двум, то такая
задача ЛП может быть решена графически.
 2-й этап. производится графическое
построение области допустимых решений (
ОДР ) системы ограничений задачи.
 3-й этап. Дается геометрическая
интерпретация целевой функции и
определяется оптимальное решение задачи.
Анализ моделей линейного программирования
на чувствительность (графическая интерпретация)
Целью анализа модели является выявление
чувствительности оптимального решения к
изменениям непостоянных коэффициентов
исходных данных.
Анализ моделей на чувствительность
производится после того как оптимальное
решение получено.
При анализе правых частей
ставится два вопроса:
На сколько можно увеличить запас
некоторого
ресурса
для
улучшения
полученного оптимального значения целевой
функции (при сохранении оптимального
базиса)?
 2. На сколько можно снизить запас некоторого
ресурса (при сохранении оптимального
базиса)?
 1.
Прежде всего необходимо классифицировать
ограничения на связывающие (активные) и
неcвязывающие (неактивные).
Прямая, соответствующая связывающему
ограничению, должна проходить через оптимальное
решение. если некоторое ограничение является
связывающим, то соответствующий ресурс
расходуется полностью и называется дефицитным
ресурсом.
Ресурсы, c которыми ассоциируются
неcвязывающие ограничения, относятся к разряду
недефицитных (т.е. имеются в некотором избытке).
Анализ ценности ресурсов
Этот анализ позволяет ответить на вопроc:
увеличение какого из реcурcов наиболее выгодно.
т. е. какому из реcурcов отдать предпочтение при
вложении дополнительных cредcтв.
Ценность

ресурсов (цц.р.
Максимальн ое прирощение оптимального
значения целевой функции
Максимальн ое допустимый прирост объема
ресурса
Анализ на чувствительность
к изменению коэффициентов целевой функции
В этом анализе ставится вопрос:
в каких пределах могут изменяться коэффициенты
целевой функции, в которых не происходит
изменения оптимального решения.
При изменении коэффициентов целевой функции
изменяется наклон прямой, ассоциированной c ней.
Оптимальное решение будет сохраняться до тех пор,
пока прямая целевой функции будет проходить через
одну и ту же опорную вершину ОДР.
Симплекс-процесс
или идея симплекс-метода
При решении задачи симплекс-методом,
существуют несколько правил:
 1. Решение задачи, еcли оно cущеcтвует, лежит в одной из
вершин ОДР. Следовательно оно может быть найдено
полным перебором вершин ОДР. Решение, расположенное в
вершине ОДР, называется опорным.
 2. В опорных вершинах k=n-m переменных равны нулю (n чиcло переменных задачи, m - чиcло уравнений, k - чиcлo
cвободных переменных).
 3. Смежные опорные вершины отличаютcя только одной
переменной в каждой группе (нулевых и ненулевых
переменных). Следовательно, чтобы оcущеcтвить переход от
одной вершины к другой, необходимо произвести замену
переменных.
Транспортная задача
Транспортная задача (ТЗ) – одна из самых
распространенных задач ЛП.
Цель- разработка наиболее рациональных путей
и способов транспортирования товаров,
устранение чрезмерно дальних, повторных,
встречных перевозок.
Общая формулировка ТЗ
cij – стоимость перевозки единицы продукта из i-го склада в
j-й пункт назначения
xij – количество продукта, которое перевозится из i-го склада
в j-й пункт потребления
ai – количество единиц продукта на i-складе
bj – количество единиц продукции, которое необходимо
доставить на j-склад
Сбалансированность ТЗ
Условие баланса:
То есть
наличие продукта равно потребности в нем.
Транспортная задача называется открытой, если
условие баланса нарушается;
в случае выполнения условия баланса она
называется сбалансированной транспортной
задачей.
Приведение открытой транспортной
задачи к сбалансированной
Превышение запасов
над потребностями
 аi >  bj (где i=1,...,m ;
j=1,...,n)
В этом случае вводится
“фиктивный” потребитель с
потребностями равными
абсолютной величине разности
между общим количеством
запасов и общим количеством
требуемых единиц. Стоимость
по доставке будет для
потребителя равна 0, т.к.
поставки фактически нет.
Превышение
потребностей над
запасами
 аi <  bj (где i=1,...,m ;
j=1,...,n)
Вводим “фиктивного”
производителя (склад) с
потребностями равными
абсолютной величине разности
между общим количеством
запасов и общим количеством
требуемых единиц. Стоимость по
доставке будет для
производителя равна 0, т.к.
поставки фактически нет.
Свойства транспортной задачи
 Теорема 1. Для любой транспортной задачи
существует план (то есть для любой
транспортной задачи допустимая область не
пуста).
 Теорема 2. Транспортная задача всегда имеет
оптимальный план.
 Теорема 3. Любой опорный план имеет не
более n+m-1 положительных компонент.
Методы определения
первоначального опорного плана
 Метод северо-западного угла – опорный план строится по
диагонали от левого верхнего угла.
 Метод минимального (максимального) элемента - из всей
таблицы стоимостей выбирают наименьшую и уже от нее
строят опорный план.
 Метод аппроксимации Фогеля - находят разность по всем
столбцам и по всем строкам между двумя записанными в
них минимальными тарифами, среди указанных разностей
выбирают минимальную. В строке (или в столбце), которой
данная разность соответствует, определяют минимальная
стоимость
 Метод двойного предпочтения - эффективен в случае
больших размерностей. В каждом столбце отмечают знаком
клетку с наименьшей стоимостью. Затем тоже проделывают
в каждой строке. В результате некоторые клетки имеют
двойную отметку. В них находится минимальная стоимость
как по столбцу, так и по строке.
Методы проверки опорного плана
на оптимальность
Метод потенциалов
Проверяется условие
Дельта-метод
Строится матрица
приращений.
где
- потенциал i-склада
- потенциал j-пункта
потребления
Затем на основе анализа
матрицы, строятся
цепочки.
На основе анализа
цепочек проверяется
оптимальность плана.
Снятие вырожденности в ТЗ
Эпсилон-прием
0-подстановка
К объему перевозки между
какими-либо пунктами
прибавляется ε, который
задается либо как малое
число,
либо оставляется в
алгебраическом виде как
буква.
В ответе ε полагается
равным нулю.
Для снятия вырожденности
в матрицу подставляется
нулевая перевозка.
Хотя она и транспортирует
0 единиц продукта, она
имеет стоимость,
определенную стоимостью
ячейки, в которую
помещена.
Динамическое программирование
(ДП)
особый метод, приспособленный для
оптимизации динамических задач, в
которых операция состоит из элементов,
сильно влияющих друг на друга.
ДП связано с именем Ричарда Беллмана,
сформулировавшего принцип, позволяющий
существенно сократить перебор решений в
многоэтапных нелинейных задачах.
Принцип оптимальности Беллмана
Принцип оптимальности Беллмана ставит вопрос
о том, что такое оптимальность отдельного
элемента системы с точки зрения оптимальности
всей системы.
Принимая решение на отдельном этапе, мы
должны выбирать управление на этом этапе с
прицелом на будущее, т. к. нас интересует
результат в целом за все шаги.
Беллман предложил рассматривать величину
выигрыша от i-го шага и до конца, если i-ый шаг
начинается с некоторого состояния S.
Такую величину называют
условным оптимальным выигрышем Wi S
 
Тогда, принимая решение на i-ом шаге, мы должны
выбрать Xi так, чтобы условный оптимальный
выигрыш был максимальным от i-го шага и до
конца.
Определение:
оптимальность в малом понимается через
оптимальность в большом.
Любой процесс имеет где-то окончание, т. е. имеет
горизонт планирования. Тогда последний этап «не
имеет будущего». Вот именно его можно
оптимизировать только из условий данного этапа.
После этого приступают к оптимизации m 1 – го
этапа.
Выбирают такое X m 1 , чтобы при применении
этого X m 1 его внести в управление последнего
шага.
При этом мы задаём состояние, с которого
начинается m 1 - ый шаг.
Поэтому функцию Wi S называют
условным оптимальным выигрышем.
Таким образом, процесс оптимизации
разворачивается от конца к началу, и начальное
состояние становится известно.
Принцип Беллмана нашёл применение в методе
программно-целевого планирования (любое
действие планируется некоторым проектом).
Функциональное уравнение Беллмана
Назовём состоянием системы вектор координат:
S  1 , 2 ,..., L 
В некоторых задачах состояние – одна величина.
Тогда работу системы можно представить как
движение в фазовом пространстве – пространстве
состояний.
Шаговое управление – управление на i-ом шаге.
Рассмотрим процесс управления системой
за m шагов:
Функция Wi S , U i  называется
выигрышем на i-ом шаге.
Здесь S-состояние перед i-ым шагом, а U управление на i-ом шаге.
Величина Wi S , U i  должна быть известна до
начала динамического программирования. Если
состояние перед i - ым шагом было S и мы приняли
какое-то управление Ui, то система перейдёт в новое
состояние
S   i S ,U i 
Эта функция должна быть так же известна. Если
эти функции не заданы, то их надо сформулировать.
Введём Wi S  - условный оптимальный выигрыш.
Это выигрыш на всех этапах от i до конца, если i-ый
шаг начинается с состояния S.
Рассмотрим m шагов.
Начнём с i  1 – го шага. Мы системой управляем
оптимально, величина оптимального выигрыша


Wi 1 S 
На i-ом шаге - любое управление.
~
Wi S 
неоптимальный выигрыш, т. к. на i-ом шаге мы
применяем управление Ui.
Функциональное уравнение Беллмана
Wi S   max Wi S ,U i   Wi 1 S ;
Ui
S    i S ,U i 


Wi S   max Wi S ,U i  Wi 1  i S ,U i 
U i  известно
неизвестно
неизвестно 
При использования уравнения Беллмана
решение задач начинают с конца:
1 шаг
im
Wm S   max  f m ( S ,U m )
Um
fm(S,Um)
S=3
S=2
S=1
Um
Um
2 шаг
i  m 1
Wm1 S   max  f m1 (S ,U m1 )  Wm  m1 (S ,U m1 )
U m 1
Итак, идя от конца к началу, мы получаем
последовательно:
Wm S ,Wm1 S ,..., W1 S 
U m S ,U m1 S ,..., U1 S 
Придя в начальное состояние W1(S), мы можем
подставить S = S0 и W1(S0) = Wmax – это
безусловный выигрыш.
Теперь необходимо получить, идя от начала к
концу по цепочке, безусловно
оптимальное уравнение:
U1 S   U1 S0   U1*


1 S ,U1    S0 ,U1*  S1*
U 2 S 
*
 U2

2 S ,U 2    S1* ,U 2*

Итак, в конце мы получаем:
U1* ,U 2* ,...,U m* ;Wmax
Задача распределения ресурсов
Под ресурсом в общем случае понимают
физическую или абстрактную величину, которую
система использует для производства полезного
продукта.
Например: горючее, деньги, время, объём склада.
Как правило – ресурс ограничен, поэтому встаёт
задача так распределить ресурс между отдельными
элементами системы, чтобы суммарный эффект
был максимальным.
Задача:
Оптимизация распределения капитальных
вложений между предприятиями
Пусть есть начальный капитал k.0
Его можно потратить на несколько предприятий
P1 , P2 , , Pn
- количество средств вкладываемых в i-ом
году, в j-ое предприятие.
В результате получается эффект:
X ij
Wij  f X ij 
В общем случае это не линейная функция
Экономическая задача оптимизации
W  f ( X ij )  max
X
P1
P2
1
 k0
m лет
2
Xij
…
Pn
ij
Экономическая задача оптимизации
Так как функция W - нелинейная, то получаем
задачу нелинейного программирования.
Решать её сложно, кроме того, часто X ij дискретные значения.
Вопрос: нельзя ли решить задачу
последовательно, т. е. найти оптимальное
вложение для первого года, второго и т. д. т. е.
провести последовательную оптимизацию.
В большинстве задач так нельзя, т. к. то, что мы
решили оказывает влияние на последующие шаги.
Пример:
Бег на 800 метров.
Каждый бегун имеет запас энергии, который он
тратит на каждые 100 метров. ti – время на i – й
100 метров.
Σti(хi) → min;
Σхi ≤ х0.
Оказывается, на первых 100 метров бегун будет
обеспечивать минимальное время.
Основа принципа Парето
двадцать процентов населения владеют
восьмьюдесятью процентами капиталов
Гораздо менее правило Парето известно в такой
формулировке:
«Существует неизменное математическое
соотношение между численностью группы людей
и долей богатств или дохода, контролируемой
этой группой».
Формальная запись принципа Парето
log N = log A + m log x,
где N — число людей, получающих
доход выше уровня х,
А и m — константы.
Доминирование по Парето
Математическую модель можно записать следующим
образом
D, f1 , f 2 ,..., f m
Здесь D – множество допустимых исходов;
fj – числовая функция, заданная на множестве D по j
критерию:
fj – позитивное, если лицо, принимающее решения
стремится увеличить его значение
fj – негативное, если лицо, принимающее решения
стремится уменьшить его значения
2 подхода выбора оптимального
решения по Парето
 Для задачи находят множество оптимальных по
Парето исходов и представляют право выбора
оптимального исхода лицу принимающему решение
 Производится сужение множества оптимальных по
Парето исходов за счет дополнительной
информации о критериях
Данный подход включает в себя три способа:
указание нижних границ критерия;
субоптимизация;
лексиграфическая оптимизация
Ранжирование элементов заказа
на основе принципа Парето
Сущность заключается в том, что производится
классификация всех номенклатурных позиций, данные о
запасах которых поддерживаются по признаку относительной
важности этих позиций, и для каждой выделенной категории
формируются свои методики управления запасами
Обычно прибегают к трехступенчатому ранжированию
номенклатурных позиций на классы А, В и С.
группа А: наиболее ценные изделия, на долю которых приходится около
80% общей стоимости товаров, выпускаемых фирмой, и они составляют
лишь 15—20% от всего объема готовой продукции, поступившей на склад.
группа В: средние по стоимости изделия, примерно 10—15% общей
стоимости, но в количественном отношении они составляют 30% всего
объема выпуска.
группа С: самые дешевые (примерно 5—10% общей стоимости) и самые
массовые (более 50% всего производства) изделия.
Практическая польза принципа Парето.
Парето-эффективность
Критерий Парето-эффективности (Парето-улучшения,
Парето-превосходства), позволяет ранжировать размещения,
хотя неполнота получаемого при этом упорядочения
является серьезным ограничением его ценности
Этот принцип обосновывает необходимость концентрации
в с е гд а о г р а н и ч е н н ы х р е с у р с о в п р е д п р и я т и я н а
ограниченном участке «фронта» вместо их привычного
распыления по множеству направлений. Он помогает
определить именно тот участок, где можно рассчитывать
н а ма кс и ма л ь н ы й р е зул ьт ат от сво и х ус и л и й .
Для критерия Парето имеет значение только одно свойство
размещения – его влияние на индивидуума в обществе. Так
выпуск или комбинации факторов отдельной фирмы не
существенны для целей благосостояния.
Проблема группового выбора.
Правило Борда
Правила выбора по Парето нередко дают больше
выигрышных значений, чем это необходимо.
В таких случаях применяется более строгое
правило выбора — правило выбора по Борда.
Для применения правила Борда берется таблица
ранжирования проектов Парето и вводится
специальный столбец, значения в котором
соответствуют рангу строки.
Таким образом, проект, имеющий наилучшее
значение по какому-либо показателю, имеет по
данному показателю больший ранг, а
наименьший ранг соответствует наихудшему
значению.
Download