Математическое программирование в экономике Автор: Лаврушина Е.Г. Основные вопросы лекции: Линейное программирование: типовые задачи и методы их решения. Нелинейное программирование. Динамическое программирование. Оптимизация распределения капитальных вложений между предприятиями методом динамического программирования. Принцип Парето. Линейное программирование (ЛП): типовые задачи и методы их решения Для решения задач линейного программирования разработано сложное программное обеспечение, дающее возможность эффективно и надежно решать практические задачи больших объемов. Эти программы и системы снабжены развитыми системами подготовки исходных данных, средствами их анализа и представления полученных результатов. Создание модели линейного программирования Процесс построения математической модели можно представить как ответы на следующие три вопроса: 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 шаг im Wm S max f m ( S ,U m ) Um fm(S,Um) S=3 S=2 S=1 Um Um 2 шаг i m 1 Wm1 S max f m1 (S ,U m1 ) Wm m1 (S ,U m1 ) U m 1 Итак, идя от конца к началу, мы получаем последовательно: Wm S ,Wm1 S ,..., W1 S U m S ,U m1 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% всего производства) изделия. Практическая польза принципа Парето. Парето-эффективность Критерий Парето-эффективности (Парето-улучшения, Парето-превосходства), позволяет ранжировать размещения, хотя неполнота получаемого при этом упорядочения является серьезным ограничением его ценности Этот принцип обосновывает необходимость концентрации в с е гд а о г р а н и ч е н н ы х р е с у р с о в п р е д п р и я т и я н а ограниченном участке «фронта» вместо их привычного распыления по множеству направлений. Он помогает определить именно тот участок, где можно рассчитывать н а ма кс и ма л ь н ы й р е зул ьт ат от сво и х ус и л и й . Для критерия Парето имеет значение только одно свойство размещения – его влияние на индивидуума в обществе. Так выпуск или комбинации факторов отдельной фирмы не существенны для целей благосостояния. Проблема группового выбора. Правило Борда Правила выбора по Парето нередко дают больше выигрышных значений, чем это необходимо. В таких случаях применяется более строгое правило выбора — правило выбора по Борда. Для применения правила Борда берется таблица ранжирования проектов Парето и вводится специальный столбец, значения в котором соответствуют рангу строки. Таким образом, проект, имеющий наилучшее значение по какому-либо показателю, имеет по данному показателю больший ранг, а наименьший ранг соответствует наихудшему значению.