Реферат Прикладная математика
Работа добавлена на сайт bukvasha.net: 2015-10-28Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
Министерство общего и профессионального
образования Российской Федерации
Государственный университет управления
Кафедра прикладной математики
Утверждено
первым проректором ГАУ
проф. Ю.Л. Старостиным
Методические указания
к выполнению курсового проекта
по дисциплине
²Прикладная математика²
для студентов всех специальностей
дневного и вечернего отделения
Москва - 2000
УДК
Методические указания к выполнению курсовой работы по дисциплине ”Прикладная математика”/Сост.: Колемаев В.А., Карандаев И.С. и др. ГУУ, М.:2000.
Составители
Колемаев В.А. – профессор, доктор экономических наук
§15.
Карандаев И.С. - доцент. §§2, 4-10
приложения I, III, IX.
Малыхин В.И. - профессор, доктор физико-математических наук
§§11-14, приложения V, VII, VIII.
Гатауллин Т.М. - доцент, кандидат физико-математических наук
§§1, 3, приложение IV.
Прохоров Ю.Г. - доцент, кандидат физико-математических наук
Приложение VI.
Юнисов Х.Х. – старший преподаватель, приложение II.
Ответственный редактор
заведующий кафедрой прикладной математики
доктор экономических наук, профессор
Колемаев В.А.
Рецензент
кандидат экономических наук, доцент
кафедры экономической кибернетики
Васильева Л.Н.
© Государственный университет управления, 2000
Предисловие
Учебными планами всех специальностей ГУУ предусмотрено выполнение курсового проекта по дисциплине ²Прикладная математика². Как указано в программе этой дисциплины, прикладная математика состоит из двух основных разделов: теории вероятностей и ее приложений и математических методов исследования операций, которые включают также финансовую математику, что особенно важно для студентов-заочников, специализирующихся в области финансового и банковского менеджмента. Программой предусмотрено также изучение основных вопросов линейной алгебры.
Рекомендуется изучить основы теории систем линейных алгебраических уравнений по учебнику [1]. Напомним, что в задачах линейной оптимизации приходится в основном рассматривать системы линейных алгебраических уравнений в предпочитаемой форме, когда каждое уравнение системы содержит неизвестную, входящую только в это уравнение, причем с коэффициентом +1, а поиск оптимального решения сводится к направленному перебору базисных неотрицательных решений. Поэтому студент должен иметь ввиду, что нет смысла приступать к рассмотрению линейной производственной задачи курсовой работы, пока не изучены основы теории систем линейных алгебраических уравнений, изложенные в §§ 1, 2 главы 1 учебника [1].
Краткое и сжатое изложение основных вопросов исследования операций дано в работе [7], а разбор задач - в пособии [16]. При этом полезно предварительно ознакомиться с работой [11], где некоторые важнейшие вопросы программы изложены весьма подробно и доходчиво. Специальные вопросы исследования операций изложены в работах [6], [8] и [25].
Финансовая математика может быть изучена по работам [20], [23]. Необходимый для этого материал по теории вероятностей и математической статистике рекомендуется изучить по учебнику [2].
§1. ЦЕЛИ И ЗАДАЧИ КУРСОВОГО ПРОЕКТА
Выполнение курсового проекта по прикладной математике направлено на усиление связи обучения студентов с практикой совершенствования управления, организации современного производства, всего механизма хозяйствования.
В процессе работы над курсовым проектом студент не только закрепляет и углубляет теоретические знания, полученные на лекциях и на практических занятиях, но и учится применять методы исследования операций при постановке и решении конкретных экономических задач.
Цель курсового проекта - подготовить студента к самостоятельному проведению операционного исследования, основными этапами которого являются построение математической модели, решение управленческой задачи при помощи модели и анализ полученных результатов.
§2. Задание на курсовОЙ ПрОЕКТ
1. Сформулировать линейную производственную задачу и составить ее математическую модель, взяв исходные данные из приложения 1, где технологическая матрица А затрат различных ресурсов на единицу каждой продукции, вектор объемов ресурсов В и вектор удельной прибыли С при возможном выпуске четырех видов продукции с использованием трех видов ресурсов
компактно записаны в виде
c1 c2 c3 c4
а11 а12 а13 а14 b1
a21 a22 a23 a24 b2
a31 a32 a33 a34 b3
Преобразовать данную задачу к виду основной задачи линейного программирования, решить ее методом направленного перебора базисных допустимых решений, обосновывая каждый шаг процесса, найти оптимальную производственную программу, максимальную прибыль, остатки ресурсов различных видов и указать ²узкие места² производства.
В последней симплексной таблице указать обращенный базис Q-1, соответствующий оптимальному набору базисных неизвестных. Проверить выполнение соотношения
H = Q-1B
Если по оптимальной производственной программе какие-то два вида продукции не должны выпускаться, то в таблице исходных данных вычеркнуть соответствующие два столбца, составить математическую модель задачи оптимизации производственной программы с двумя оставшимися переменными, сохранив прежнюю нумерацию переменных и решить графически.
2. Сформулировать задачу, двойственную линейной производственной задаче, как задачу определения расчетных оценок ресурсов, и найти ее решение, пользуясь второй основной теоремой двойственности (о дополняющей нежесткости). Указать оценку единицы каждого ресурса, минимальную суммарную оценку всех ресурсов, оценки технологий.
Применить найденные двойственные оценки ресурсов к решению следующей задачи.
Сформулировать задачу о "расшивке узких мест производства" и составить математическую модель. Определить область устойчивости двойственных оценок, где сохраняется структура программы производства. Решить задачу о ²расшивке узких мест производства² при условии, что дополнительно можно получить от поставщиков не более одной трети первоначально выделенного объема ресурса любого вида (если задача окажется с двумя переменными, то только графически); найти план приобретения дополнительных объемов ресурсов, дополнительную возможную прибыль.
По пунктам 1, 2, 3 составить сводку результатов [10, c. 21].
3. Составить математическую модель транспортной задачи по исходным данным из приложения 2, где вектор объемов производства А(a1,..., am), потребления - В (b1,..., bn) и матрица транспортных издержек С=(сij), i =; j = кратко записаны в виде
b1 b2 . . . bn
a1 c11 c12 . . . c1n
a2 c21 c22 . . . c2n
. . . . . . . . . . . . . . . . . . . .
am cm1 cm2 . . . cmn
Если полученная модель окажется открытой, то свести ее к замкнутой и найти оптимальное решение транспортной задачи методом потенциалов.
4. Методом динамического программирования решить задачу распределения капитальных вложений между четырьмя предприятиями производственного объединения, располагающего суммой в 700 тыс. руб., по исходным данным, приведенным в приложении 3 (выделяемые суммы кратны 100 тыс.).
5. Рассмотреть динамическую задачу управления производством и запасами. Решить конкретную задачу по исходным данным, приведенным в приложении 4.
6. Рассмотреть матричную игру как модель сотрудничества и конкуренции, взяв исходные данные из приложения 5. Найти графически решение игры. Указать, как проявляется конкуренция между игроками и сотрудничество между ними.
7. Рассмотреть задачу о максимальном потоке в сети. Решить конкретную задачу на сети с 8-9 вершинами, предложив исходные данные самостоятельно.
8. Рассмотреть задачу о кратчайшем пути. Решить конкретную задачу, предложив исходные данные самостоятельно.
9. Рассмотреть задачу о назначениях. Решить конкретную задачу, предложив исходные данные самостоятельно.
10. Методом ветвей и границ найти целочисленное решение задачи о "расшивке узких мест производства", рассмотренной в пункте 2. Если же все компоненты плана "расшивки" были целочисленными, то в условии вместо К=3 взять другое целое значение К так, чтобы решение оказалось не целочисленным, после чего применить метод ветвей и границ.
11. Рассмотреть линейную задачу многокритериальной оптимизации. Составить самостоятельно конкретную задачу с двумя переменными и тремя критериями и решить методом последовательных уступок.
12. Рассмотреть модель международной торговли (модель обмена). Составить самостоятельно конкретную структурную матрицу торговли между тремя странами и найти, в каком отношении должны находиться госбюджеты этих стран, чтобы торговля между ними была сбалансированной.
13. Рассмотреть задачу управления производственным комплексом без полной информации в верхнем звене управления двухуровневой системы. Решить блочно-диагональную задачу методом разложения, предложив исходные данные самостоятельно.
14. Составить матричную модель производственной программы предприятия по исходным данным из приложения 6. По данному вектору выпуска товарной продукции найти вектор производственной программы и полные затраты всех внешних ресурсов.
15. Провести анализ доходности и риска финансовых операций по исходным данным, приведенным в приложении 7.
16. Решить задачу формирования оптимального портфеля ценных бумаг: бумаги первого вида - безрисковые ожидаемой эффективности m0, а второго и третьего вида - некоррелированные рисковые ожидаемых эффективностей m1, m2 c рисками s1, s2. Исходные данные взять из приложения 8.
17. Рассмотреть задачу принятия решений в условиях неопределенности, взяв исходные данные из приложения 7. По номеру берете строки с номерами . Например, при :
1. (2,1/2)(0,1/4)(14,1/8))(6,1/8) 2. (2,1/2)(4,1/4)(18,1/8))(8,1/8)
3. (4,1/4)(0,1/4)(6,1/3))(12,1/6) 4. (6,1/4)(2,1/4)(14,1/3))(4,1/6)
В этих строках опускаете дроби и получаете:
1. (2,0,14,6) 2.(2,4,18,8) 3. (4,0,6,12) 4.(6,2,14,4)
Полученные строки объединяете в матрицу, аналогичную матрице . Вероятности состояний берете из строки с номером , оставляя в ней только дроби: 1.(2,1/2)(0,1/4)(14,1/8)(6,1/8), т. е. получаете (1/2,1/4,1/8,1/8). Затем:
а) Найдите матрицу рисков.
б) Найдите решения, рекомендуемые правилами Вальда, Сэвиджа, Гурвица (l задайте сами).
в) При данных вероятностях состояний проанализируйте имеющееся семейство из 4-х операций: каждая операция имеет две характеристики – средний ожидаемый доход и средний ожидаемый риск, нанесите для каждой операции эти характеристики на плоскую систему координат и выявите операции, оптимальные по Парето.
г) Затем найдите выпуклую оболочку множества полученных точек и дайте интерпретацию точек полученной выпуклой оболочки.
д) Придумайте пробную операцию, которая значительно сместит распределение вероятностей, и определите максимально оправданную стоимость пробной операции, используя какой-нибудь подходящий критерий эффективности операций (например, средний ожидаемый доход).
е) Выберите какие-нибудь две операции, предположите, что они независимы друг от друга и найдите операцию, являющуюся их линейной комбинацией и более хорошую, чем какая-либо из имеющихся.
ж) Придумайте взвешивающую формулу (ее придется объяснить при защите курсовой работы!) и найдите по ней худшую и лучшую операции.
18. Произвести математико-статистический анализ за T лет Xt, Kt, Lt (t = 1, …, T) о выпуске продукции (в стоимостном виде), ОПФ и числе занятых исследуемого производственного экономического объекта:
а) найти прогноз выпуска, фондов и занятых на 1, 2, 3 года вперед
по выявленному линейному или квадратичному тренду;
б) найти прогноз выпуска на 1, 2, 3 года вперед
с помощью построенной мультипликативной производственной функции
в) на основе результатов расчетов сделать выводы о состоянии и перспективах развития исследуемого экономического объекта.
§3. Организация выполнения курсовоГО ПрОЕКТА
Студент выполняет 5-8 пунктов задания в любом наборе в соответствии со своей специальностью и своими интересами по согласованию с руководителем, при этом пункты 1, 2, 4, 6 являются обязательными для студентов любых специальностей. Номера задач из приложений выбираются либо по номеру студента в списке, либо по начальной букве своей фамилии по схеме:
Начальная буква А Б В Г Д Е Ж З И, Й Ка-Кл Км-Кр
Номер задания 1 2 3 4 5 6 7 8 9 10 11
Кс-Кя Л М Н О П Р С Т У Ф Х Ц,Ч Ш,Щ,Ы Э,Ю,Я
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Курсовая работа выполняется аккуратно на одной стороне листа стандартного формата. Графики строятся черными или цветными карандашами средней твердости на обычной или миллиметровой бумаге. Листы с текстом курсовой работы и графики должны быть сшиты.
Текст работы должен содержать все необходимые расчеты и пояснения. В случае применения ЭВМ в работе должны содержаться блок-схема решения задачи, распечатка программы и результатов с необходимыми пояснениями.
В курсовом проекте обязательны оглавление и сквозная нумерация всех листов. Образец титульного листа содержится в приложении 9.
Курсовая работа сдается преподавателю до защиты для проверки. При защите курсовой работы студент должен показать знание теоретического курcа и умение математически ставить, решать и анализировать конкретные экономические задачи.
§4. Линейная производственная задача
Задача о рациональном использовании производственных мощностей является одной из первых задач, для решения которой были применены методы линейного программирования. В общем виде математическая модель задачи об использовании производственных мощностей может быть получена следующим образом.
Предположим, что предприятие или цех выпускает n видов изделий, имея m групп оборудования. Известны нормы времени на обработку каждого изделия на каждой группе оборудования, например, в минутах или часах и фонд времени работы каждой группы оборудования. Пусть, кроме того, известно, что из всех n видов изделий наибольшим спросом пользуются k видов. Требуется составить план производства, при котором выпуск дефицитных изделий будет наибольшим возможным.
Примем следующие обозначения:
i – номер группы оборудования (i=1,2, … , m);
j – номер вида изделия (j=1,2, … , n);
aij – норма времени на обработку единицы i-го изделия на j-ой группе оборудования;
bi – действительный фонд времени работы i-й группы оборудования;
xi – планируемое количество единиц j-го изделия;
(x1, x2, … , xn) – искомый план производства.
Какова бы ни была производственная программа (x1, x2, … , xn), ее компоненты должны удовлетворять условию, что суммарное время обработки всех изделий на данной группе оборудования не должно превышать фонда времени работы этой группы оборудования. На обработку x1 единиц первого изделия на i-й группе оборудования будет затрачено ai1x1 единиц времени, на обработку x2 единиц второго изделия на той же группе оборудования будет затрачено ai2x2 единиц времени и т.д. Необходимое время на обработку всех x1, x2, … , xn изделий на i-й группе оборудования будет равно сумме
Эта сумма не может превышать фонд времени работы i-й группы оборудования, т.е. должна быть £ bi. Выписывая такие условия для всех m групп оборудования, получаем:
(1)
Так как компоненты плана суть количество изделий и, следовательно, не могут быть выражены отрицательными числами, то естественным образом добавляются условия:
x1 ³0, x2,³0,…, xn³0.
(2)
Обозначим через сj прибыль на единицу j-го изделия. При плане производства (х1, х2, …, хn) прибыль предприятия будет равна:
z = c1x1 + c2x2 + … + cnxn. (3)
Мы хотим составить производственную программу (х1, х2, …, хn) так, чтобы функция (3) приняла наибольшее значение при выполнении всех других условий.
|
Исходные параметры задачи могут быть представлены в виде технологической матрицы A затрат ресурсов на единицу продукции каждого вида, вектора B объемов ресурсов и вектора C удельной прибыли:
, , C=(c1, …, cn)
В качестве примера рассмотрим задачу оптимизации производственной программы цеха, который может выпускать два вида изделий, имея четыре группы производственного оборудования. Пусть
, , , или кратко
Задача состоит в том, чтобы найти производственную программу, максимизирующую
прибыль:
(4)
при условиях:
(5)
(6)
|
Последовательное улучшение производственной программы
Предположим теперь, что предприятие может выпускать четыре вида продукции, используя для этого три вида ресурсов. Известна технологическая матрица А затрат любого ресурса на единицу каждой продукции, вектор В объемов ресурсов и вектор С удельной прибыли
(7)
Требуется составить производственную программу, обеспечивающую предприятию наибольшую прибыль при имеющихся ограниченных ресурсах
Математическая модель задачи:
найти производственную программу
(x1, x2, x3, x4)
максимизирующую прибыль
z = 36x1+ 14x2 + 25x3 + 50x4 (8)
при ограничениях по ресурсам
(9)
где по смыслу задачи
x1 ³ 0, x2 ³ 0, x3 ³ 0, x4 ³ 0. (10)
Получили задачу на условный экстремум. Для ее решения систему неравенств (9) при помощи дополнительных неотрицательных неизвестных х5, х6, х7 заменим системой линейных алгебраических уравнений
(11)
где дополнительные переменные имеют смысл остатков соответствующих ресурсов. Среди всех решений системы уравнений (11), удовлетворяющих условию неотрицательности
х1³0, х2³0, … , х5³0, … , х7³0. (12)
надо найти то решение, при котором функция (8) примет наибольшее значение.
Воспользуемся тем, что правые части всех уравнений системы (11) неотрицательны, а сама система имеет предпочитаемый вид – дополнительные переменные являются базисными. Приравняв к нулю свободные переменные х1, х2, х3, х4, получаем базисное неотрицательное решение
|
первые четыре компоненты которого определяют производственную программу
x1=0, x2=0, x3=0, x4=0 (14)
по которой мы пока ничего не производим.
Из выражения (8) видно, что наиболее выгодно начинать производить продукцию четвертого вида, так как прибыль на единицу продукции здесь наибольшая. Чем больше выпуск в этой продукции, тем больше прибыль. Выясним, до каких пор наши ресурсы позволяют увеличить выпуск этой продукции. Для этого придется записать для системы уравнений (11) общее решение
(15)
Мы пока сохраняем в общем решении х1=х2=х3=0 и увеличиваем только х4. При этом значения базисных переменных должны оставаться неотрицательными, что приводит к системе неравенств
или т.е. 0 £ х4 £
Дадим х4 наибольшее значение х4 =181/5, которое она может принять при нулевых значениях других свободных неизвестных, и подставим его в (15). Получаем для системы уравнений (11) частное неотрицательное решение
х1=0, х2=0, х3=0, х4=; x5=27; x6=; x7=0 (16)
Нетрудно убедиться, что это решение является новым базисным неотрицательным решением системы линейных алгебраических уравнений (11), для получения которого достаточно было принять в системе (11) неизвестную х4 за разрешающую и перейти к новому предпочитаемому виду этой системы, сохранив правые части уравнений неотрицательными, для чего за разрешающее уравнение мы обязаны принять третье, так как
а разрешающим элементом будет а34=5. Применив известные формулы исключения, получаем для системы уравнений (11) новый предпочитаемый эквивалент
x1 + 2x2 + 2x3 + x5 - x7 = 27
x1 + x2 - x3 + x6 - x7 = (17)
x1 + x2 + x3 + x4 + x7 =
Приравняв к нулю свободные переменные х1, х2, х3, х7, получаем базисное неотрицательное решение, совпадающее с (16), причем первые четыре компоненты его определяют новую производственную программу
х1=0, х2=0, х3=0, х4=. (18)
|
Из последнего уравнения системы (17) выражаем базисную переменную х4 через свободные и подставляем в (8). Получаем
(19)
Видим, что программа (18) не является наилучшей, так как прибыль будет расти, если мы начнем производить или первую, или вторую, или третью продукцию, но наиболее быстро функция z растет при возрастании х1. Поэтому принимаем х1 в системе (17) за разрешающую неизвестную, находим разрешающее уравнение по
(20)
и исключаем х1 из всех уравнений системы (17), кроме первого уравнения. Получим следующий предпочитаемый эквивалент системы условий, который определит для системы (11) новое базисное неотрицательное решение и уже третью производственную программу, для исследования которого нам придется выразить функцию (19) через новые свободные переменные, удалив оттуда переменную х1, ставшую базисной. Мы видели выше, как это делается (удаляли х4 из (8)).
Важно обратить внимание на то, что эти удаления можно выполнить очень просто. Представим соотношение (8) в виде уравнения
-36х1 - 14х2 - 25х3 - 50х4 = 0 – z (21)
и припишем его к системе (11). Получается вспомогательная система уравнений
(22)
Напомним, что разрешающую неизвестную в системе (11) мы выбрали х4. Этой переменной в последнем уравнении системы (22) отвечает наименьший отрицательный коэффициент D4=-50. Затем мы нашли разрешающий элемент а34=5 и исключили неизвестную х4 из всех уравнений системы (11), кроме третьего. Далее нам пришлось х4 исключать и из функции (8). Теперь это можно сделать очень просто, если посмотреть на систему уравнений (22). Очевидно, достаточно умножить третье уравнение системы (22) на 10 и прибавить к четвертому; получим
-6х1 - 4х2 - 5х3 - 10х4 = 1810 – z (23)
Таким образом, мы преобразовывали вспомогательную систему уравнений (22) к виду
x1 + 2x2 + 2x3 + x5 - x7 = 27
x1 + x2 - x3 + x6 - x7 = (24)
x1 + x2 + x3 + x4 + x7 =
-6x1 - 4x2 - 5x3 +10x7 = 1810 - z
|
min(Dj<0) = min(-6, -4, -5) = -6 = D1
и решили перевести свободную переменную х1 в число базисных, для чего, согласно (20)определили разрешающее уравнение и указали разрешающий элемент а11=1.
Учитывая сказанное выше, теперь мы будем преобразовывать не систему (17), а всю вспомогательную систему (24), по формулам исключения. Эта система преобразуется к виду
x1 + 2x2 + 2x3 + x5 - x7 = 27
3x2 - x3 - x5 + x6 + x7 = 13 (25)
- x2 - x3 + x4 - x5 + x7 = 20
8x2 + 7x3 + 6x5 + 4x7 = 1972 - z
Первые три уравнения системы (25) представляют некоторый предпочитаемый эквивалент системы уравнений (11) и определяют базисное неотрицательное решение системы условий рассматриваемой задачи
x1=27, x2=0, x3=0, x4=20, x5=0, x6=13, x7=0 (26)
т.е. определяют производственную программу
x1=27, x2=0, x3=0, x4=20 (27)
и остатки ресурсов:
первого вида х5=0
второго вида х6=13 (28)
третьего вида х7=0
В последнем уравнении системы (25) среди коэффициентов при неизвестных в левой части уравнения нет ни одного отрицательного. Если из этого уравнения выразить функцию цели z через остальные неотрицательные переменные
z = 1972 - 8х2 - 7х3 - 6х5 - 4х7 (29)
то становится совершенно очевидным (в силу того, что все xj³0), что прибыль будет наибольшей тогда, когда
x2=0, x3=0, x5=0, x7=0 (30)
Это означает, что производственная программа (27) является наилучшей и обеспечивает предприятию наибольшую прибыль
zmax = 1972 (31)
Итак, организовав направленный перебор базисных неотрицательных решений системы условий задачи, мы пришли к оптимальной производственной программе и указали остатки ресурсов, а также максимальную прибыль.
Остается заметить, что процесс решения обычно записывается в виде некоторой таблицы 1.
14
Таблица 1
14 |
| | | 36 14 25 50 0 0 0 | Пояснения |
| Базис | Н | x1 x2 x3 x4 x5 x6 x7 | |
0 | х5 | 208 | 4 3 4 5 1 0 0 | z0 = H |
0 | х6 | 107 | 2 5 0 2 0 1 0 | |
0 | х7 | 181 | 3 1 2 5 0 0 1 | 0 |
| z0 -z | 0 - z | -36 -14 -25 -50 0 0 0 | |
0 | х5 | 27 | 1 2 2 0 1 0 -1 | |
0 | х6 | 173/5 | 4/5 23/5 -4/5 0 0 1 -2/5 | |
50 | х4 | 181/5 | 3/5 1/5 2/5 1 0 0 1/5 | |
| z0 -z | 1810-z | -6 -4 -5 0 0 0 10 | |
36 | х1 | 27 | 1 2 2 0 1 0 -1 | |
0 | х6 | 13 | 0 3 -12/5 0 -4/5 1 2/5 | все Dj ³0 |
50 | х4 | 20 | 0 -1/5 -4/5 1 -3/5 0 4/5 | |
| z0 -z | 1972-z | 0 8 7 0 6 0 4 | |
где представлены расширенные матрицы вспомогательных систем уравнений (22) ® (24) ® (25). Эти таблицы принято называть симплексными.
Следует обратить внимание на экономический смысл элементов последней строки последней симплексной таблицы. Например, коэффициент D3=7 при переменной х3 показывает, что если произвести одну единицу продукции третьего вида (она не входит в оптимальную производственную программу), то прибыль уменьшится на 7 единиц.
В заключение заметим, что в рассматриваемом простейшем примере линейной производственной задачи возможна самопроверка результата.
Воспользуемся тем, что в оптимальной производственной программе х2=0, х3=0. Предположим, что вторую и третью продукции мы не намеревались выпускать с самого начала. Рассмотрим задачу с оставшимися двумя переменными, сохранив их нумерацию. Математическая модель задачи будет выглядеть следующим образом:
|
Следует при этом обратить внимание на то, что последовательное улучшение производственной программы
(x1=0, x4=0) ® (x1=0, x4=) ® (x1=27, x4=20)
на графике означает движение от одной вершины многогранника допустимых решений к другой вершине по связывающей их стороне многоугольника (в случае трех переменных это будет "езда" по ребрам многогранника допустимых решений от одной вершины к другой до достижения оптимальной вершины).
§5. Двойственная задача
Ранее мы рассмотрели конкретную линейную производственную задачу по выпуску четырех видов продукции с использованием трех видов ресурсов по заданным технологиям.
Теперь представим себе, что возникла новая ситуация. Знакомый предприниматель П (Петров), занимающийся производством каких-то других видов продукции, но с использованием трех таких же видов ресурсов, какие имеются у нас, предлагает нам "уступить" по определенным ценам все имеющиеся у нас ресурсы и обещает платить у1 рублей за каждую единицу первого ресурса, у2 руб – второго, у3 руб – третьего. Возникает вопрос: при каких ценах у1, у2, у3 мы можем согласиться с предложением П.
Величины у1, у2, у3 принято называть расчетными, или двойственными, оценками ресурсов. Они прямо зависят от условий, в которых действует наше предприятие.
Напомним, что в нашей задаче технологическая матрица А, вектор объемов ресурсов В и вектор удельной прибыли С имели вид
Для производства единицы продукции первого вида мы должны затратить, как видно из матрицы А, 4 единицы ресурса первого вида, 2 единицы ресурса второго вида и 3 единицы третьего (элементы первого столбца матрицы). В ценах у1, у2, у3 наши затраты составят 4у1 + 2у2 + 3у3, т.е. столько заплатит предприниматель П за все ресурсы, идущие на производство единицы первой продукции. На рынке за единицу первой продукции мы получили бы прибыль 36 руб. Следовательно, мы можем согласиться с предложением П только в том случае, если он заплатит не меньше
4у1 + 2у2 + 3у3 ³ 36.
Аналогично, во втором столбце матрицы А указаны затраты различных ресурсов на производство единицы продукции второго вида. В ценах П эти затраты составят 3у1 + 5у2 + у3, а на рынке за единицу продукции второго вида мы получили бы прибыль 14 рублей. Поэтому перед предпринимателем П мы ставим условие
3у1 + 5у2 + у3 ³ 14
и т.д. по всем видам продукции.
Учтем, что за все имеющиеся у нас ресурсы нам должны заплатить 208у1 + 107у2 + 181у3 рублей. При поставленных нами условиях предприниматель П будет искать такие значения величин у1, у2, у3, чтобы эта сумма была как можно меньше. Подчеркнем, что здесь речь идет не о ценах, по которым мы когда-то приобретали эти ресурсы, а об этих ценах, которые существенно зависят от применяемых нами технологий, объемов ресурсов и от ситуации на рынке.
|
у(у1, y2, y3)
минимизирующий общую оценку всех ресурсов
f = 208y1 + 107y2 +181y3 (1)
при условии, что по каждому виду продукции суммарная оценка всех ресурсов, затрачиваемых на производство единицы продукции, не меньше прибыли, получаемой от реализации единицы этой продукции
|
3y1 + 5y2 + y3 ³ 14
4y1 + 2y3 ³ 25
5y1 + 2y2 + 5y3 ³ 50
причем оценки ресурсов не могут быть отрицательными
y10, y20, y30. (3)
Решение полученной задачи легко найти с помощью второй основной теоремы двойственности, согласно которой для оптимальных решений (х1, х2, х3, х4) и (y1, y2, y3) пары двойственных задач необходимо и достаточно выполнение условий
x 1 (4y1 + 2y2 + 3y3 - 36) = 0 y1 (4x1 +3x2 + 4x3 + 5x4 - 208) = 0
x 2 (3y1 + 5y2 + y3 - 14) = 0 y2 (2x1 +5x2 + 2x4 - 107) = 0
x 3 (4y1 + 2y3 - 25) = 0 y3 (3x1 + x2 + 2x3 + 5x4 - 181) = 0 .
x 4(5y1 + 2y2 + 5y3 - 50) = 0
Ранее было найдено, что в решении исходной задачи х1>0, x4>0. Поэтому
4y1 + 2y2 + 3y3 - 36 = 0
5y1 + 2y2 + 5y3 - 50 = 0
Если же учесть, что второй ресурс был избыточным и, согласно той же теореме двойственности, ее двойственная оценка равна нулю
у2=0,
то приходим к системе уравнений
4y1 + 3y3 - 36 = 0
5y1 + 5y3 - 50 = 0
откуда следует
у1=6, у3=4.
Таким образом, получили двойственные оценки ресурсов
у1=6; у2=0; у3=4, (4)
причем общая оценка всех ресурсов равна 1972.
|
§6. Задача о "расшивке узких мест производства"
При выполнении оптимальной производственной программы первый и третий ресурсы используются полностью, т.е. образуют ²узкие места производства². Будем их заказывать дополнительно. Пусть T(t1,t2,t3)- вектор дополнительных объемов ресурсов. Так как мы будем использовать найденные двойственные оценки ресурсов, то должно выполняться условие
H + Q-1T 0.
Задача состоит в том, чтобы найти вектор
T (t1, 0, t3),
максимизирующий суммарный прирост прибыли
W = 6t1 + 4t3 (1)
при условии сохранения двойственных оценок ресурсов (и, следовательно, структуры производственной программы)
|
предполагая, что можно надеяться получить дополнительно не более 1/3 первоначального объема ресурса каждого вида
(3)
причем по смыслу задачи
t1 0, t3 0. (4)
Переписав неравенства (2) и (3) в виде:
|
|
приходим к задаче ЛП: максимизировать (1) при условиях (5), (6) и (4).
Эту задачу легко решить графически: см. рис. 1. Программа ²расшивки² имеет вид
t1=, t2=0, t3=
|
Сводка результатов приведена в таблице
Таблица 1
сj | 36 | 14 | 25 | 50 | b | x4+i | yi | ti |
| 4 | 3 | 4 | 5 | 208 | 0 | 6 | 46 5/12 |
aij | 2 | 5 | 0 | 2 | 107 | 13 | 0 | 0 |
| 3 | 1 | 2 | 5 | 181 | 0 | 4 | 60 1/3 |
xj | 27 | 0 | 0 | 20 | 1972 | | | 519 2/3 |
Dj | 0 | 8 | 7 | 0 | | | | |
§7. Транспортная задача линейного программирования
Транспортная задача формулируется следующим образом. Однородный продукт, сосредоточенный в m
пунктах производства (хранения) в количествах а1, а2,..., аm единиц, необходимо распределить между n пунктами потребления, которым необходимо соответственно b1, b2,..., bn единиц. Стоимость перевозки единицы продукта из i-го пункта отправления в j-ый пункт назначения равна сij и известна для всех маршрутов. Необходимо составить план перевозок, при котором запросы всех пунктов потребления были бы удовлетворены за счет имеющихся продуктов в пунктах производства и общие транспортные расходы по доставке продуктов были минимальными.
Обозначим через хij количество груза, планируемого к перевозке от i-го поставщика j-му потребителю. При наличии баланса производства и потребления
(1)
математическая модель транспортной задачи будет выглядеть так:
найти план перевозок
Х = (хij), i = 1,m; j = 1,n
минимизирующий общую стоимость всех перевозок
(2)
при условии, что из любого пункта производства вывозится весь продукт
(3)
и любому потребителю доставляется необходимое количество груза
(4)
причем по смыслу задачи
х11 > 0 ,. . . ., xmn > 0. (5)
|
А(а1, а2, а3) = (54; 60; 63); В(b1, b2, b3, b4) = (41; 50; 44; 30); С =
Общий объем производства åаi = 55+60+63 = 178 больше, требуется всем потребителям åbi = 42+50+44+30 = 166, т.е. имеем открытую модель транспортной задачи. Для превращения ее в закрытую вводим фиктивный пункт потребления с объемом потребления 178-166 = 12 единиц, причем тарифы на перевозку в этот пункт условимся считать равными нулю, помня, что переменные, добавляемые к левым частям неравенств для превращения их в уравнения, входят в функцию цели с нулевыми коэффициентами.
Первое базисное допустимое решение легко построить по правилу ²северо-западного угла².
Потребление | b1 =41 | b2 =50 | b3 =44 | b4 =30 | b5 =12 | |
Производство | | | | | | |
а1 =54 | 41 | 13 | | | | p1 =0 |
a2 =60 | | 37 | 23 | | | p2 = |
a3 =63 | * | | 21 | 30 | 12 | p3 = |
| q1 = | q2 = | q3 = | q4 = | q5 = | |
Следует иметь в виду, что по любой транспортной таблице можно восстановить соответствующий предпочитаемый эквивалент системы уравнений (3), (4), а в таблице записаны лишь правые части уравнений, причем номер клетки показывает, какая неизвестная в соответствующем уравнении является базисной. Так как в системе (3), (4) ровно m + n - 1 линейно независимых уравнений, то в любой транспортной таблице должно быть m + n - 1 занятых клеток.
Обозначим через
m)
вектор симплексных множителей или потенциалов. Тогда
Dij = mAij - сij i = 1,m; j = 1,n
откуда следует
Dij = pi + qj - cij i = 1,m; j = 1,n (6)
Один из потенциалов можно выбрать произвольно, так как в системе (3), (4) одно уравнение линейно зависит от остальных. Положим, что р1 = 0. Остальные потенциалы находим из условия, что для базисных клеток . В данном случае получаем
D11 = 0, p1 + q1 - c11 = 0, 0+q1 -1 = 0, q1 = 1
D12 = 0, p1 + q2 - c12 = 0, 0+q2 -4 = 0, q2 = 4
D22 = 0, p2 + q2 - c22 = 0, р2 +4-6 = 0, р2 = 2
и т.д., получим: q3=0, p3=6, q4= 1, q5= -6.
Затем по формуле (6) вычисляем оценки всех свободных клеток:
D21 = p2 + q5 - c21 = 2+1-3 = 0
D31 = p3 + q1 - c31 = 6+1-2 = 5
D32 = 5; D13 = -3; D14 = -1; D24 = -2; D15 = -6; D25 = -4.
|
max () = 5 =
Для найденной свободной клетки 31 строим цикл пересчета - замкнутую ломаную линию, соседние звенья которой взаимно перпендикулярны, сами звенья параллельны строкам и столбцам таблицы, одна из вершин находится в данной свободной клетке, а все остальные - в занятых клетках. Это будет 31-11-12-22-23-33. Производим перераспределение поставок вдоль цикла пересчета
41 | 13 | | | 41-r | 13+r | | | 20 | 34 | |
| 37 | 23 | | | 37-r | 23+r | | | 16 | 44 |
| | 21 | | r | | 21-r | | 21 | | |
= 21
Получаем второе базисное допустимое решение:
bj | b1 =41 | b2 =50 | b3 =44 | b4 =30 | b5=12 | |
ai | | | | | | |
а1 =54 | 20 | 34 | | * | | p1 =0 |
a2 =60 | | 16 | 44 | | | p2 =2 |
a3 =63 | 21 | | | 30 | 12 | p3 =1 |
| q1 =1 | q2 = 4 | q3 = 0 | q4 = 6 | q5= -1 | |
Находим новые потенциалы, новые оценки. Наибольшую положительную оценку будет иметь свободная клетка 14. Для нее строим цикл пересчета 14-11-31-34 производим перераспределение
20 | | | 20-r | r | | | 20 |
21 | 30 | 21+r | 30-r | 42 | 10 |
rmax = 20
и получаем третье базисное допустимое решение. Продолжаем процесс до те пор, пока не придем к таблице, для которой все
Dij £ 0 i = 1,m; j = 1,n
Читателю не составит труда проверить, что будет оптимальным базисное допустимое решение
§8. Динамическое программирование.
|
Динамическое программирование - это вычислительный метод для решения задач управления определенной структуры. Данная задача с n переменными представляется как многошаговый процесс принятия решений. На каждом шаге определяется экстремум функции только от одной переменной.
Знакомство с методом динамического программирования проще всего начать с рассмотрения нелинейной задачи распределения ресурсов между предприятиями одного производственного объединения или отрасли. Для определенности можно считать, что речь идет о распределении капитальных вложений.
Предположим, что указано n пунктов, где требуется построить или реконструировать предприятия одной отрасли, для чего выделено b рублей. Обозначим через fi(xi) прирост мощности или прибыли на j-м предприятии, если оно получит xi рублей капитальных вложений. Требуется найти такое распределение (x1,x2, ... , xn) капитальных вложений между предприятиями, которое максимизирует суммарный прирост мощности или прибыли
z = f1(x1) + f2(х2) + ... + fn(xn)
при ограничении по общей сумме капитальных вложений
x1 + x2 + ... + xn = b
причем будем считать, что все переменные xj принимают только целые неотрицательные значения
xj = 0, или 1, или 2, или 3, ...
Функции fj(xj) мы считаем заданными, заметив, что их определение - довольно трудоемкая экономическая задача.
Воспользуемся методом динамического программирования для решения этой задачи.
Введем параметр состояния и определим функцию состояния. За параметр состояния x примем количество рублей, выделяемых нескольким предприятиям, а функцию состояния Fk(x) определим как максимальную прибыль на первых k предприятиях, если они вместе получают x рублей. Параметр x может изменяться от 0 до b. Если из x рублей k-е предприятие получит xk рублей, то каково бы ни было это значение, остальные x - xk рублей естественно распределить между предприятиями от первого до (К-1)-го так, чтобы была получена максимальная прибыль Fk-1(x - xk). Тогда прибыль k предприятий будет равна fk(xk) + Fk-1(x - xk). Надо выбрать такое значение xk между 0 и x, чтобы эта сумма была максимальной, и мы приходим к рекуррентному соотношению
Fk(x)=max{fk(xk) + Fk-1(x-xk)}
0 £ xk £ x
для k = 2, 3, 4, ... , n . Если же k=1, то
F1(x) = f1(x)
Рассмотрим конкретный пример. Пусть производственное объединение состоит из четырех предприятий (n=4). Общая сумма капитальных вложений равна 700 тыс. рублей (b=700), выделяемые предприятиям суммы кратны 100 тыс. рублей. Значения функций fj(xj) приведены в таблице 1, где, например, число 88 означает, что если третье предприятие получит 600 тыс. руб. капитальных вложений, то прирост прибыли на этом предприятии составит 88 тыс. руб.
|
Прежде всего заполняем табл. 2. Значения f2(x2) складываем со значениями F1(x - x2) = f1(x- x2) и на каждой северо-восточной диагонали находим наибольшее число, которое отмечаем звездочкой и указываем соответствующее значение . Заполняем таблицу 3.
Продолжая процесс, табулируем функции F3(x), (x) и т.д. В табл. 6 заполняем только одну диагональ для значения x= 700. Наибольшее число на этой диагонали:
Zmax = 155 тыс. руб.,
причем четвертому предприятию должно быть выделено
х*4 = 4 (700) = 300 тыс. руб.
На долю остальных трех предприятий остается 400 тыс. руб. Из табл. 5 видно, что третьему предприятию должно быть выделено
x*3 = 3 (700-x*4) = 3 (400) = 200 тыс. руб.
Продолжая обратный процесс, находим
x*2 = 2 (700 - x*4 - x*3) = 2 (200) = 100 тыс. руб.
На долю первого предприятия остается
x*1 = 700 - x*4 - x*3 - x*2 = 100 тыс. руб.
Таким образом, наилучшим является следующее распределение капитальных вложений по предприятиям:
x*1 =100; x*2 =100; x*3 = 200; x*4 = 300.
Оно обеспечивает производственному объединению наибольший воможный прирост прибыли 155 тыс. руб.
Студенту рекомендуется проверить выполнение равенства
f1(x*1) + f2(x*2) + f3(x*3) + f4(x*4) = z max
Таблица 2
| x - x2 | 0 100 200 300 400 500 600 700 |
x2 | F1(x - x2) f2(x2) | 0 20 34 46 53 55 60 60 |
0 | 0 | 0 20* 34 46 53 55 60 60 |
100 | 18 | 18 38* 52* 64 71 73 78 |
200 | 29 | 29 49 63 75 82 84 |
300 | 45 | 45 65* 79 91 98 |
400 | 62 | 62 82* 96 108 |
500 | 78 | 78 98* 112* |
600 | 90 | 90 110 |
700 | 98 | 98 . |
|
x | 0 100 200 300 400 500 600 700 |
F2(x) | 0 20 38 52 65 82 98 112 |
`(x) | 0 0 100 100 300 400 500 500 |
Таблица 4
| x - x3 | 0 100 200 300 400 500 600 700 |
x3 | F2(x - x3) f3(x3) | 0 20 38 52 65 82 98 112 |
0 | 0 | 0 20 38 52 65 82 98 112 |
100 | 25 | 25* 45* 63* 77 90 107 123 |
200 | 41 | 41 61 79* 93 106 123 |
300 | 52 | 52 72 94* 112 126 |
400 | 74 | 74 94* 112* 126* |
500 | 82 | 82 102 120 |
600 | 88 | 88 106 |
700 | 90 | 90 . |
Таблица 5
x | 0 100 200 300 400 500 600 700 |
F3(x) | 0 25 45 63 79 94 112 126 |
(x) | 0 100 100 100 200 400 400 400 |
Таблица 6
| x - x4 | 0 100 200 300 400 500 600 700 |
x4 | F3(x - x4) f4(x4) | 0 25 45 63 79 94 112 126 |
0 | 0 | 126 |
100 | 30 | 142 |
200 | 52 | 146 |
300 | 76 | 155* |
400 | 90 | 153 |
500 | 104 | 149 |
600 | 116 | 141 |
700 | 125 | 125 . |
§9. Динамическая задача управления производством
|
Предприятие производит партиями некоторые изделия. Предположим, что оно получило заказы на n месяцев. Размеры заказов значительно меняются от месяца к месяцу. Поэтому иногда лучше выполнять одной партией заказы нескольких месяцев, а затем хранить изделия, пока они не потребуются, чем выполнять заказ в тот именно месяц, когда этот заказ должен быть отправлен. Необходимо составить план производства на указанные n месяцев с учетом затрат на производство и хранение изделий. Обозначим:
xj - число изделий, производимых в j -й месяц;
yj - величина запаса к началу j го месяца (это число не содержит изделий, произведенных в j -м месяце);
dj - число изделий, которые должны быть отгружены в j -й месяц;
fj (xj,yj+1) - затраты на хранение и производство изделий в j -м месяце.
Будем считать, что величины запасов к началу первого месяца y1 и к концу последнего yn+1 заданы.
Задача состоит в том, чтобы найти план производства
(x1, x2, ..., xn) (1)
компоненты которого удовлетворяют условиям материального баланса
xj + yj - dj = yj+1 j = 1,n (2)
и минимизируют суммарные затраты за весь планируемый период
(3)
причем по смыслу задачи
xj ³ 0, yj ³ 0, j = 1,n (4)
Прежде чем приступить к решению поставленной задачи, заметим, что для любого месяца j величина yj+1 запаса к концу месяца должна удовлетворять ограничениям
0 £ yj+1 £ dj+1 + dj+2 + ... + dn (5)
т.е. объем производимой продукции xj на этапе j может быть настолько велик, что запас yj+1 удовлетворяет спрос на всех последующих этапах, но не
имеет смысла иметь yj+1 больше суммарного спроса на всех последующих этапах. Кроме того, из соотношений (2) и (4) непосредственно следует, что переменная xj должна удовлетворять ограничениям
0 £ xj £ dj + yj+1 (6)
Следует также заметить, что переменные xj, yj могут принимать только целые неотрицательные значения, т.е. мы получили задачу целочисленного нелинейного программирования.
Будем решать задачу (1)-(6) методом динамического программирования.
Введем параметр состояния и составим функцию состояния.
|
x = yk+1 (7)
а функцию состояния Fk(x) определим как минимальные затраты за первые k месяцев при выполнении условия (5)
(8)
где минимум берется по неотрицательным целым значениям x1,...,xk, удовлетворяющим условиям
xj + yj - dj = yj+1 j = 1, k-1 (9)
xk + yk - dk = x (10)
Учитывая, что
(11)
и величина запаса yk к концу (k-1) периода, как видно из уравнения (10), равна
yk = x + dk - xk (12)
приходим к рекуррентному соотношению
(13)
где минимум берется по единственной переменной xk, которая, согласно (6) может изменяться в пределах
0 £ xk £ dk + x (14)
принимая целые значения, причем верхняя граница зависит от значений параметра состояния, изменяющегося в пределах
0 £ x £ dk+1 + dk+2 + ... + dn (15)
а индекс k может принимать значения
k = 2, 3, 4, ... , n (16)
Если k=1, то
F1(x = y2) = min f1(x1, x) (17)
x1
где
x1 = x + d1 - y1 (18)
0£ x £ d2 + d3 + ... + dn (19)
|
Применив известную вычислительную процедуру динамического программирования, на последнем шаге (при k = n) находим значение последней компоненты xn* оптимального решения, а остальные компоненты определяем как
(20)
Рассмотрим более подробно функции затрат fj(xj, yj+1) и рекуррентные соотношения. Пусть
jj(xj) = axj2 + bxj + c
jj (xj) - затраты на производство (закупку) xj единиц продукции на этапе j;
hj - затраты на хранение единицы запаса, переходящей из этапа j в этап j+1.
Тогда затраты на производство и хранение на этапе j равны
fj(xj, yj+1) = jj(xj) + hj yj+1 = axj2 + bxj + c + hj yj+1. (21)
Выведенные ранее рекуррентные соотношения динамического программирования для решения задачи управления производством и запасами в нашем случае принимают вид:
(22)
где
k = 2, 3, ... , n (23)
0 £ yk+1 £ dk+1 + dk+1 + ... + dn (24)
0 £ xk £ dk + yk+1 (25)
yk = yk+1 + dk - xk (26)
|
|
|
|
Остается заметить, что полезно обозначить выражение в фигурных скобках через
Wk(xk, yk+1) = axj2 + bxj + c + hkyk+1 + Fk-1(yk) (31)
и записать рекуррентное соотношение (22) в виде
Fk(x=yk+1) = min Wk(xk, yk+1) (32)
xk
|
Пример. Рассмотрим трехэтапную систему управления запасами с дискретной продукцией и динамическим детерминированным спросом.
Пусть спрос (заявки) потребителей на нашу продукцию составляют: на первый этап d1=3 единицы, на второй – d2=2, на третий - d3=4 единицы. К началу первого этапа на складе имеется только 2 единицы продукции, т.е. начальный уровень запаса равен y1=2. Затраты на хранение единицы продукции на разных этапах различны и составляют соответственно h1=1, h2=3, h3=2. Затраты на производство xj единиц продукции на j-м этапе определяются функцией
jj(xj) = xj2 + 5xj + 2 (33)
т.е. а=1; b=5; с=2. Требуется указать, сколько единиц продукции на отдельных этапах следует производить, чтобы заявки потребителей были удовлетворены, а наши общие затраты на производство и хранение за все три этапа были наименьшими.
Исходные данные задачи можно кратко записать одной строкой:
d1 d2 d3 a b c h1 h2 h3 y1
1 2 4 1 5 2 1 3 2 2
Воспользовавшись рекуррентными соотношениями, последовательно вычисляем
F1 (x = y2), F2 (x = y3), ..., Fk (x = yk+1), ... и соответственно находим 1 (x= y2), 2 (x = y3 ), ..., `k (x = yk+1), ...
Положим k = 1. Согласно (27) имеем
(34)
Учтем, что согласно (28) параметр состояния x = у2 может принимать целые значения на отрезке
0 у2 d2 + d3
0 y2 2 + 4
т.е.
у2 = 0, 1, 2, 3, 4, 5, 6.
При этом, вообще говоря, каждому значению параметра состояния должна отвечать определенная область изменения переменной x1, характеризуемая условием (29)
0 х1 3 + у2
Однако, на первом этапе объем производства х1 не может быть меньше единицы, так как спрос d1 = 3, а исходный запас у1 = 2. Более того, из балансового уравнения
х1 + у1 - d1 = у2
непосредственно следует, что объем производства связан со значением параметра состояния x= у2 соотношением
x1 = y2 + d1 - y1 = y2 + 3 - 2 = y2 +1 (35)
В этом и состоит особенность первого этапа. Если задан уровень запаса к началу первого этапа, то каждому значению у2 отвечает единственное значение х1 и потому
F1(x = y2) = W1 (x1, y2)
|
y2 = 0, x1 = 0+1 = 1, W1 (1;0) = 12 + 5×1 + 2 + 1×0 = 8
y2 = 1, x1 = 1+1 = 2, W1 (2;1) = 22 + 5×2 + 2 + 1×1 = 17
и т.д. Значения функции состояния F1(x ) представлены в табл. 1
Таблица 1
x = y2 | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
F1 (x = y2) | 8 | 17 | 28 | 41 | 56 | 73 | 92 |
x1(x=y2) | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Переходим ко второму этапу. Полагаем k = 2 и табулируем функцию
F2(x = y3) с помощью соотношения (32)
(37)
Здесь минимум берется по единственной переменной х2, которая может изменяться, согласно (25), в пределах
0 £ x2 £ d2 + y3 или 0 £ x2 £ 2 + y3 (38)
где верхняя граница зависит от параметра состояния x = у3, который, согласно (15), принимает значения на отрезке
0 £ y3 £ d3 , т.е. 0 £ y3 £ 4 (39)
а аргумент у2 в последнем слагаемом справа в соотношении (37) связан с х2 и у3 балансовым уравнением
x2 + y2 - d2 = y3
откуда следует
y2 = y3 + d2 - x2 = y3 + 2 - x2 (40)
Придавая параметру состояния различные значения от 0 до 4, будем последовательно вычислять W2 (x2, x), а затем определять F2(x ) и 2(x ).
Положим, например x = у3 = 2. Тогда, согласно (38),
0 £ x2 £ 4,
т.е. переменная х2 может принимать значения: 0, 1, 2, 3, 4, а каждому значению х2 отвечает определенное значение у2, вычисляемое по формуле (40):
у2 = 4 - х2
Последовательно находим:
если x2 = 0, то y2 = 4-0 = 4, W2 (0,2) = 02 + 5×0 + 2 + 3×2 + F1(4) = 8 + 56 = 64,
x2 = 1, y2 = 4-1 = 3, W2 (1,2) = 12 + 5×1 + 2 + 3×2 + F1(3) = 14 + 41 = 55,
x2 = 2, y2 = 4-2 =2, W2 (2,2) = 22 + 5×2 + 2 + 3×2 + F1(2) = 22 + 28 = 50,
x2 = 3, y2 = 4-3 = 1, W2 (3,2) = 32 + 5×3 + 2 + 3×2 + F1(1) = 32 + 17 = 49*,
x2 = 4, y2 = 4-4 = 0, W2 (3,2) = 42 + 5×4 + 2 + 3×2 + F1(0) = 44 + 8 = 52.
|
F2 (x = y3 = 2) = min W2 (x2,2) = min (64, 55, 50, 49, 52) = 49,
x2
причем минимум достигается при значении х2, равном
`2 (x = y3 = 2) = 3
Аналогично для значения параметра x = у3 = 3, проведя необходимые вычисления, найдем
F2 (x = y3 = 3) = 63; `2 (x = y3 = 3) = 3.
Процесс табулирования функции F2 (x = y3) приведен в табл. 2, а результаты табулирования сведены в табл. 3.
Таблица 3
x= у3 | 0 | 1 | 2 | 3 | 4 |
F2 (x= y3) | 24 | 36 | 49 | 63 | 78 |
(x= y3) | 2 | 2 | 3 | 3 | 4 |
Переходим к следующему этапу. Полагаем k=3 и табулируем функцию F3 (x = y4):
Вычисляем значение функции состояния только для одного значения аргумента x = у4 = 0, так как не хотим оставлять продукцию в запас в конце исследуемого периода. Процесс вычислений приведен в табл. 4. Получаем
F3 (x = y4) = min W3 (x3,0) = min (80, 71, 65, 62, 62) = 62,
x3
причем минимум достигается при двух значениях переменной х3, равных
`3 (x = y4 = 0) = 3 или `3 (x = y4 = 0) = 4.
Таким образом, мы получили не только минимальные общие затраты на производство и хранение продукции, но и последнюю компоненту оптимального решения. Она равна
= 3 или = 4.
Рассмотрим случай, когда на последнем этапе планируем выпускать три единицы продукции
= 3.
Остальные компоненты оптимального решения найдем по обычным правилам метода динамического программирования. Чтобы найти предпоследнюю компоненту, учтем, что
х3 + у3 - d3 = y4
или
3 + у3 - 4 = 0,
откуда
у3 = 1.
Из таблицы (3) значений находим
Аналогично, продолжая двигаться в обратном направлении и учтя, что
х2 + у2 - d2 = y3