Экономико-математические методы и модели

1=18´13+12´7+15´8+33´12+9´10+11´8+15´10+15´15=1287.

Общая стоимость плана табл. 5.6 равна:

2=18´13+12´7+15´8+22´

12+11´6+20´10+15´10+15´15=1243.

Таким образом, нам удалось уменьшить стоимость перевозок на 44 единицы.

Действительно алгебраическая сумма стоимостей, стоящих в вершинах цикла со знаком «+», если перевозки в этой вершине увеличиваются, и со знаком «-», если уменьшаются (так называемая «цена цикла»). в данном случае равна 6-8+10-12=-4. Значит, при переносе одной величины груза по этому циклу стоимость уменьшается на 4. А мы перенесем 11 единиц. Следовательно, цена цикла 4 . 11=44.

Попробуем еще раз улучшить план табл. 5.8 с помощью цикла (табл. 5.9) с ценой: 5-15+14-13=9. Перебрасывая 15 единиц груза, сокращаем стоимость на: 9 . 15=135.

6. МЕТОДЫ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ

И МНОГОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ

6.1. Постановка задачи нелинейного программирования

В общем виде задача нелинейного программирования (ЗНП) формируется следующим образом:

f (x1, x2, ., xn) ® max (min) (6.1)

ì gi (x1, x2 ., xn £ bi, i=1, m1

ï gi (x1, x2 ., xn ³ bi, i=m1+1, m2

(6.2) í . . . . . . . . . . .

î gi (x1, x2 ., xn = bi, i=m2+1, m2

где xj - управляющие переменные или решения ЗНП, j=1, n;

bi - фиксированные параметры, i=1, m;

f, gi, i=1, n - заданные функции от n переменных.

Если f и gi линейны, то (6.1), (6.2) проходит в задачу линейного программирования.

þ Решить задачу нелинейного программирования - это значит найти такие значения управляющих переменных xj, j=1, n, которые удовлетворяют системе ограничений (6.2) и доставляют максимум или минимум функции f.

Для задачи нелинейного программирования, в отличие от линейных задач, нет единого решения. В зависимости от вида целевой функции (6.1) и ограничений (6.2) разработано несколько специальных методов решения, к которым относятся методы множителей Лагранжа, квадратичное и выпуклое программирование, градиентные методы, ряд приближенных методов решения, графический метод. Заметим, что нелинейное моделирование экономических задач часто бывает довольно искусственным. Большая часть экономических проблем сводится к линейным моделям.

6.2. Постановка задачи динамического программирования.

Основные условия и область применения.

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

Пусть рассматривается задача, распадающаяся на m шагов или этапов, например планирование деятельности предприятия на несколько лет, поэтапное планирование инвестиций, управление производственными мощностями в течение длительного срока. Показатель эффективности задачи в целом обозначим через W, а показатели эффективности на отдельных шагах - через ji, i=1, m. Если W обладает свойством аддитивности, т.е.:

(6.3)

можно найти оптимальное решение задачи методом динамического программирования.

þ Таким образом, динамическое программирование - это метод оптимизации многошаговых или многоэтапных процессов, критерий эффективности которых обладает свойством (6.3).

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

þ Переменная хi, от которой зависят выигрыш на i-м шаге и, следовательно, выигрыш в целом, называются шаговым управлением i=1, m.

þ Управлением процесса в целом (х) называется последовательность шаговых управлений х=(х1, х2, ., хi, ., хm).

þ Оптимальное управление х* - это значение управления х, при котором значение W(x*) является максимальным (или минимальным, если требуется уменьшить проигрыш)

W*=W(x*)=max {W(x)}

xÎX, (6.4)

где X - область допустимых управлений.

Oптимальное управление x* определяется последовательностью оптимальных шаговых управлений: x* = (x1*, x2*, ., xi*, ., xm*).

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

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

Другой момент, который следует учитывать при выборе управления на данном шаге, - это возможные варианты окончания предыдущего шага. Эти варианты определяют состояние процесса. Например, при определении количества средств в i-ом году, необходимо знать, сколько средств осталось в наличии к этому году, и какая прибыль получена в предыдущем (i-1)-ом году.

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

À возможные исходы предыдущего шага.

Á влияние управления на все оставшиеся до конца процесса шаги.

В задачах динамическою программирования первый пункт учитывают, делая на каждом шаге условные предположения о возможных вариантах окончания предыдущего шага, и проводя для каждого из вариантов условную оптимизацию. Выполнение второго пункта обеспечивается тем, что в задачах динамического программирования условная оптимизация проводится от конца процесса к началу. Сперва оптимизируется последний m-й шаг, на котором не надо учитывать возможные воздействия выбранного управления хm, на все последующие шаги, так как эти шаги просто отсутствуют. Делая предположения об условиях окончания (m-1)-го шага, для каждого из них проводят условную оптимизацию m-го шага и определяют условное оптимальное управление хm. Аналогично поступают для (m-1)-го шага, делая предположение об исходах окончания (m-2)-го шага, и, определяя условное оптимальное управление на (m-1)-ом шаге, приносящее оптимальный выигрыш на двух последних шагах - (m-1)-ом и m-ом. Так же действуют на всех остальных шагах до первого. На первом шаге, как правило, не надо делать условных предположений, т.к. состояние системы перед первым шагом обычно известно. Для этого состояния выбирают оптимальное шаговое управление, обеспечивающее оптимальный выигрыш на первом и всех последующих шагах. Это управление является, безусловно, оптимальным управлением на первом шаге и, зная его, определяются оптимальное значение выигрыша и безусловные оптимальные управления на всех ее шагах.

Страница:  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15 
 16  17  18 


Другие рефераты на тему «Экономико-математическое моделирование»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы