Курсовая работа

«Модель распределения ресурсов»

  • 47 страниц
Содержание

Введение

1. Основные понятия

1.1. Модель динамического программирования

1.2. Принцип оптимальности. Уравнение Беллмана

2. Оптимальное распределение ресурсов

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

2.2 Двумерная модель распределения ресурсов

2.3 Дискретная динамическая модель оптимального распределения ресурсов

2.4 Учет последействия в задачах оптимального распределения ресурсов

Заключение

Список используемых источников

Приложение 1. Листинг программы для решения задачи оптимального распределения ресурсов с заданными параметрами. Результаты работы программы

Введение

На протяжении всей своей истории люди при необходимости принимать решения прибегали к сложным ритуалам. Они устраивали торжественные церемонии, приносили в жертву животных, гадали по звездам и следили за полетом птиц. Они полагались на народные приметы и старались следовать примитивным правилам, облегчающим им трудную задачу принятия решений. В настоящее время для принятия решения используют новый и, по-видимому, более научный «ритуал», основанный на применении электронно-вычислительной машины. Без современных технических средств человеческий ум, вероятно, не может учесть многочисленные и разнообразные факторы, с которыми сталкиваются при управлении предприятием, конструировании ракеты или регулировании движения транспорта. Существующие в настоящее время многочисленные математические методы оптимизации уже достаточно развиты, что позволяет эффективно использовать возможности цифровых и гибридных вычислительных машин. Одним из этих методов является математическое программирование, включающее в себя как частный случай динамическое программирование.

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

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

Как раздел математического программирования, динамическое программирование (ДП) начало развиваться в 50-х годах XX в. благодаря работам Р. Беллмана и его сотрудников. Впервые этим методом решались задачи оптимального управления запасами, затем класс задач значительно расширился. Как практический метод оптимизации, метод динамического программирования стал возможен лишь при использовании современной вычислительной техники.

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

Фрагмент работы

1. Основные понятия

1.1 Модель динамического программирования

Дадим общее описание модели динамического программирования.

Рассматривается управляемая система, которая под влиянием управления переходит из начального состояния в конечное состояние . Предположим, что процесс управления системой можно разбить на п шагов. Пусть , ,…, — состояния системы после первого, второго,., п-го шага. Схематически это показано на рис. 1.

Рисунок 1

Состояние системы после k-го шага (k= 1,2 …,n) характеризуется параметрами , ,…, которые называются фазовыми координатами. Состояние можно изобразить точкой s-мерного пространства называемого фазовым пространством. Последовательное преобразование системы (по шагам) достигается с помощью некоторых мероприятий , ,…, , которые составляют управление системой , где — управление на k-м шаге, переводящее систему из состояния в состояние (рис. 1). Управление на k-ом шаге заключается в выборе значений определенных управляющих переменных* .

Предполагаем впредь, что состояние системы в конце k-го шага зависит только от предшествующего состояния системы и управления на данном шаге (рис. 1). Такое свойство получило название отсутствия последействия. Обозначим эту зависимость в виде

, (1.1)

Равенства (1.1) получили название уравнений состояний. Функции полагаем заданными.

Варьируя управление U, получим различную «эффективность» процесса**, которую будем оценивать количественно целевой функцией Z, зависящей от начального состояния системы и от выбранного управления U:

. (1.2)

Показатель эффективности k-го шага процесса управления, который зависит от состояния в начале этого шага и управления , выбранного на этом шаге, обозначим через рассматриваемой задаче пошаговой оптимизации целевая функция (1.2) должна быть аддитивной, т. е.

. (1.3)

Если свойство аддитивности целевой функции Z не выполняется, то этого иногда можно добиться некоторыми преобразованиями функции. Например, если Z— мультипликативная функция, заданная в виде , то можно рассмотреть функцию , которая является аддитивной.

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

Задачу пошаговой оптимизации можно сформулировать так: определить совокупность допустимых управлении , ,…, , переводящих систему из начального состояния в конечное состояние и максимизирующих или минимизирующих показатель эффективности (1.3).

Для единообразия формулировок (но не вычислительных процедур!) в дальнейшем мы будем говорить только о задаче максимизации, имея в виду, что если необходимо минимизировать Z, то, заменив Z на Z' = —Z перейдем к максимизации Z'.

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

Если переменные управления принимают дискретные значения, то модель ДП называется дискретной. Если же указанные переменные изменяются непрерывно, то модель ДП называется непрерывной. В зависимости от числа параметров состояний (s) и числа управляющих переменных на каждом шаге (r) различают одномерные и многомерные модели ДП. Число шагов в задаче может быть либо конечным, либо бесконечным.

Динамическое программирование применяется при оптимизации как детерминированных, так и стохастических процессов.

В некоторых задачах, решаемых методом ДП, процесс управления естественно разбивается на шаги. Например, при распределении на несколько лет ресурсов деятельности предприятия шагом естественно считать временной период; при распределении средств между n предприятиями номером шага естественно считать номер очередного предприятия. В других задачах разбиение на шаги вводится искусственно. Например, непрерывный управляемый процесс можно рассматривать как дискретный, условно разбив его на некоторые временные отрезки — шаги. Исходя из условий каждой конкретной задачи, длину шага выбирают таким образом, чтобы на каждом шаге получить простую задачу оптимизации и обеспечить требуемую точность вычислений.

1.2 Принцип оптимальности. Уравнение Беллмана

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

Иллюстрацией к сказанному выше может служить задача о выборе кратчайшего пути для перехода из точки A в точку B, если маршрут должен пройти через некоторые пункты. На рис. 2 эти пункты обозначены кружками, а соединяющие их дороги — отрезками, рядом с которыми проставлены соответствующие расстояния.

Рисунок 2

С точки зрения интересов оптимизации только каждого ближайшего шага — выбора кратчайшего пути из данной точки в соседнюю — следует двигаться по маршруту, проходящему через точки . Длина этого маршрута равна 34. Такой путь из A в B не является кратчайшим. Например, маршрут, проходящий через точки , имеет меньшую длину, равную 25. Решив эту задачу, можно убедиться, что второй путь также не является оптимальным.

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

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

Использование этого принципа гарантирует, что управление, выбранное на любом шаге, является не локально лучшим, а лучшим с точки зрения процесса в целом.

Так, если система в начале k-го шага находится в состоянии , и мы выбираем произвольное управление , то система придет в новое состояние , и дальнейшие управления должны выбираться оптимальными относительно состояния . Последнее означает, что при этих управлениях максимизируется показатель эффективности на последующих до конца процесса шагах k+1,.,n, т. е. величина . Показатель, характеризующий суммарную эффективность от данного k-го до последнего п-го шага, будем обозначать через , т.е. . Задача оптимизации процесса, начиная с k-го до последнего n-го шага (рис. 3), похожа на исходную при начальном состоянии системы , управлении и показателе эффективности [аналогично (1.2)]. Выбрав оптимальное управление на оставшихся п—k+l шагах, получим величину , которая зависит только от , т. е.

. (1.4)

Назовем величину условным максимумом. Если теперь мы выберем на k-м шаге некоторое произвольное управление , то система придет в состояние . Согласно принципу оптимальности, какое бы мы ни выбрали, на последующих шагах управление должно выбираться так, чтобы показатель эффективности достигал максимального значения, равного . Остается выбрать управление . Его нельзя выбирать из условия локальной максимизации показателя эффективности на данном k-м шаге, лишь бы получить . Такой подход был бы недальновидным, поскольку от выбора зависит новое состояние , а от последнего—максимально возможная эффективность, которая может быть достигнута в дальнейшем, т. е. величина . Поэтому необходимо выбирать управление так, чтобы оно в совокупности с оптимальным управлением на последующих шагах (начиная с (k+1)-го) приводило бы к общему максимуму показателя эффективности на п—k+l шагах, начиная с k-го до конца. Это положение в аналитической форме можно записать в виде следующего соотношения:

, (1.5)

получившего название основного функционального уравнения ДП, или уравнения Беллмана. Схематически соотношение (1.5) иллюстрируется на рис. 3.

Рисунок 3

Из уравнения (1.5) может быть получена функция , если известна функция ; аналогично можно получить , если найдена и т. д., пока не будет определена величина , представляющая по определению максимальное значение показателя эффективности процесса в целом: .

Соотношения (1.5) для определения последовательности функций через получили название основных рекуррентных уравнений Беллмана.

Заключение

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

Список литературы

1. Беллман Р. Динамическое программирование. М.: ИЛ, 1960. 430 с.

2. Бронштейн И.Н., Семендяев К.А. Справочник по математике для инженеров и учащихся ВТУЗов. М.: Наука, 1986. 534 с.

3. Каллихман И.Л., Войтенко М.А. Динамическое программирование в примерах и задачах. М.: Высшая школа, 1979. 124 с.

4. Химмельблау Д.М. Прикладное нелинейное программирование. М.: Мир, 1975. 534с.

Покупка готовой работы
Тема: «Модель распределения ресурсов»
Раздел: Экономико-математическое моделирование
Тип: Курсовая работа
Страниц: 47
Цена: 900 руб.
Нужна похожая работа?
Закажите авторскую работу по вашему заданию.
  • Цены ниже рыночных
  • Удобный личный кабинет
  • Необходимый уровень антиплагиата
  • Прямое общение с исполнителем вашей работы
  • Бесплатные доработки и консультации
  • Минимальные сроки выполнения

Мы уже помогли 24535 студентам

Средний балл наших работ

  • 4.89 из 5
Узнайте стоимость
написания вашей работы
Популярные услуги
Дипломная на заказ

Дипломная работа

от 8000 руб.

срок: от 6 дней

Курсовая на заказ

Курсовая работа

от 1500 руб.

срок: от 3 дней

Отчет по практике на заказ

Отчет по практике

от 1500 руб.

срок: от 2 дней

Контрольная работа на заказ

Контрольная работа

от 100 руб.

срок: от 1 дня

Реферат на заказ

Реферат

от 700 руб.

срок: от 1 дня

682 автора

помогают студентам

23 задания

за последние сутки

10 минут

среднее время отклика