Стохастическое программирование
Понятие о стохастическом программировании, М-постановка и Р-постановка целевой функции. Описание этапов решения задач стохастического программирования: предварительный, оперативный анализ стохастической модели, переход к детерминированному эквиваленту.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 15.06.2010 |
Размер файла | 63,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
11
Федеральное государственное образовательное учреждение среднего профессионального образования
«Омский промышленно-экономический колледж»
КУРСОВАЯ РАБОТА
по дисциплине «Математические методы»
Тема: «Стохастическое программирование»
Выполнил:
Коркунов Илья Андреевич
3 курс, БП 1 - 117
Руководитель:
Белгородцева Наталья Александровна
Оценка:________________
Дата защиты:___________
2010
Содержание
Введение
Обзор литературы
1. Понятие о стохастическом программировании
2. Детерминированная постановка задач стохастического программирования
3. Решение задач СТП
Заключение
Список используемой литературы
Введение
Стохастическое программирование -- это подход, позволяющий учитывать неопределённость в оптимизационных моделях.
В то время как детерминированные задачи оптимизации формулируются с использованием заданных параметров, реальные прикладные задачи обычно содержат некоторые неизвестные параметры. Когда параметры известны только в пределах определенных границ, один подход к решению таких проблем называется робастной оптимизацией. Этот подход состоит в том, чтобы найти решение, которое является допустимым для всех таких данных и в некотором смысле оптимально.
Модели стохастического программирования имеют подобный вид, но используют знание распределений вероятностей для данных или их оценок. Цель здесь состоит в том, чтобы найти некоторое решение, которое является допустимым для всех (или почти всех) возможных значений данных и максимизируют математическое ожидание некоторой функции решений и случайных переменных. В общем, такие модели формулируются, решаются аналитически или численно, их результаты анализируются, чтобы обеспечить полезную информацию для лиц, принимающих решения.
Наиболее широко применяются и хорошо изучены двухэтапные линейные модели стохастического программирования. Здесь лицо, принимающее решение, предпринимает некоторое действие на первом этапе, после которого происходит случайное событие, оказывающее влияние на результат решения первого этапа. На втором этапе может тогда быть принято корректирующее решение, которое компенсирует любые нежелательные эффекты в результате решения первого этапа.
Оптимальным решением такой модели является единственное решение первого этапа и множество корректирующих решений (решающих правил), определяющих, какое действие должно быть предпринято на втором этапе в ответ на каждый случайный результат.
Обзор литературы
При написании курсовой работы мною были использованы следующие источники:
Введение было написано с использованием сайта: http://ru.wikipedia.org/wiki/ Стохастическое программирование. Я взял информацию с этого сайта, потому что она была изложена в этой статье, раскрыто и доходчиво.
Для раскрытия первого вопроса из темы курсовой работы “ Понятие о стохастическом программировании ” практически вся информация взята с книги «Математические методы и модели для менеджмента» / Глухов В.В., здесь были рассмотрены основные понятия, взяты определения такие как: какие задачи относятся к задачам стохастического программирования, суть стохастической М-постановки целевой функции. Так же информация была дополнена с книги «Математические методы в программировании» / Агальцов В.П. В книге Глухова «Математические методы и модели для менеджмента» была очень доступно изложена информация и потому я её и использовал. Информация про «Детерминированная постановка задач стохастического программирования» была взята с сайта http://matesha.ru/book/lp8.php, там был описан алгоритм этого вопроса, но очень понятно.
При рассмотрении вопроса «Решение задач СТП» так же была использована книга «Математические методы и модели для менеджмента» / Глухов В.В. Так же была использована книга «Исследование операций в экономике»:
При рассмотрении последнего вопроса «каким методом можно найти приближённое решение задачи нелинейного программирования, если целевая функция и функции в системе ограничений сепарабельные» была использована только «Математические методы и модели для менеджмента» / Глухов В. В., так как только там был описан материал подробно, а в других источниках только о нём упоминалось.
При написании курсовой работы были использованы и другие книги, но там материал был описан не подробно и (или) непонятно.
1. Понятие о стохастическом программировании
Стохастическое программирование -- раздел математического программирования, совокупность методов решения оптимизационных задач вероятностного характера. Это означает, что, либо параметры ограничений (условий) задачи, либо параметры целевой функции, либо и те и другие являются случайными величинами (содержат случайные компоненты).
В задачах прикладной математики можно различать детерминированные и стохастические задачи. В процессе решения последних развилась обширная в настоящее время математическая дисциплина -- теория вероятностей.
Вместе с тем вероятностные методы по существу применялись до сих пор исключительно к решению задач дескриптивного типа Оптимизационные стохастические задачи начали разрабатываться только в последнее десятилетие. Сказанное относится и к стохастическим вариантам задач оптимального программирования.
Тем не менее, стохастическое оптимальное программирование является весьма важной и перспективной ветвью прикладной математики уже хотя бы потому, что «на практике принятие решений всегда происходит в условиях той или иной неопределенности. Ясно также, что задачи стохастического программирования оказываются существенно сложнее соответствующих детермированных вариантов.
В задаче линейного программирования:
1.1
заданные величины сj, аij,,bi, dj, Dj. Часто на практике величины cj, aij bj, могут быть случайными. Так, если bi -- ресурс, то он зависит от ряда факторов. Аналогично, сj -- цены -- будут зависеть от спроса и предложения, aij -- расходные коэффициенты -- от уровня техники и технологии. Задачи, в которых сj, аij,,bi -- случайные величины, относят к задачам стохастического программирования. Переход от чистых стратегий к смешанным расширяет область определения задачи. Достижимый максимум целевой функции может при этом только увеличиться, а достижимый минимум -- только уменьшиться. Вычисление оптимальной смешанной стратегии иногда называют определением решающего распределения стохастической задачи.
Задача стохастического программирования предусматривает стохастическую постановку и целевой функции, и ограничений. В задачах стохастического программирования, отвечающих ситуациям, в которых решение следует принимать до наблюдения реализации случайных условий и нельзя корректировать решение при получении информации о реализованных значениях случайных параметров, естественно определять оптимальный план в виде детерминированного вектора. Так определяется класс стохастических задач, для которых естественные решающие правила -- правила нулевого порядка. Решение задач стохастического программирования в виде случайного вектора позволяет установить связь между компонентами оптимального плана, реализациями параметров условий задачи и их априорными статистическими характеристиками. Каждой реализации условий задачи соответствует, таким образом, реализация решения. Следовательно, решение задачи стохастического программирования в виде случайного вектора целесообразно определять в ситуациях, в которых решение может быть принято после наблюдения реализации условий задачи. Решающие распределения (смешанные стратегии) целесообразно использовать в стохастических задачах, отвечающих повторяющимся ситуациям, когда ограничены суммарные ресурсы, а интерес представляет только средний эффект от выбранного решения. Решение задачи в смешанных стратегиях, не зависящих от реализации случайных параметров, естественно проводить в повторяющихся ситуациях, в которых выбор оптимального плана должен предшествовать наблюдению. Решающее распределение, зависящее от реализации случайных параметров,-- условное распределение компонент оптимального плана -- рациональная основа управления в повторяющихся ситуациях, в которых выбор решения производится после наблюдения реализации параметров условий задачи.
Стохастическая постановка целевой функции может быть двух видов: М-постановка и Р-постановка.
При М-постановке случайная величина заменяется ее математическим ожиданием и задача сводится к оптимизации детерминированной целевой функции:
1.2
где сj -- математическое ожидание случайной величины сj.
При Р-постановке целевая функция будет иметь вид:
· при максимизации целевой функции:
1.3
обозначает максимизацию вероятности того, что случайная величина ? cj xj будет не меньше некоторого значения r;
· при минимизации целевой функции:
1.4
обозначает максимизацию вероятности того, что случайная величина ? cj xj будет не больше некоторого значения r.
Наиболее распространены СТП-постановки в вероятностных ограничениях вида:
1.5
где аi j , bi -- случайные величины; ai -- заданные уровни вероятности.
Так, ограничение (а) означает, что вероятность соблюдения неравенства
1.6
должна быть не меньше, чем ai. Аналогичный смысл и других ограничений.
Для случая, когда вероятностные ограничения представлены в виде типа (а), задачу СТП можно записать при М-постановке:
1.7
При Р-постановке:
· в случае максимизации целевой функции
1.8
· в случае минимизации целевой функции
1.9
где cj , ai j , bi -- случайные величины.
Для остальных случаев ограничений (б, в, г) постановка задач стохастического программирования аналогична.
Задачи (1.7), (1.8), (1.9) непосредственно решены быть не могут. Одним из возможных методов их решения может быть представление их в виде детерминированного эквивалента.
2. Детерминированная постановка задач стохастического
программирования
Стохастическое программирование позволяет по-новому подойти к решению задач, информационная структура которых (естественная или определяемая стохастическим расширением) известна заранее. Процесс решения задачи стохастического программирования может быть разделен на два этапа. Первый -- предварительный этап -- обычно весьма трудоемкий. На первом этапе строится закон управления -- решающие правила или решающие распределения, связывающие решение или механизм формирования решения с реализованными значениями и заданными статистическими характеристиками случайных параметров условий задачи. Предварительный этап не требует знания конкретных реализаций значений параметров целевой функции и ограничений. Построение решающих правил или распределений требует лишь информации о структуре задачи и о некоторых статистических характеристиках случайных исходных данных. Поэтому процесс конструирования решающих механизмов не стеснен обычно недостатком времени и может начинаться с момента осознания важности задачи, как только построена стохастическая модель и проверено ее соответствие изучаемому явлению. Затраты времени и ресурсов на подготовку решающих правил или распределений обычно оправдываются. Полученные при этом законы управления позволяют решать не только отдельные конкретные задачи; они применимы для множества задач заданной информационной структуры. Решающие правила или распределения -- это формулы, таблицы, инструкции или случайные механизмы с фиксированными или меняющимися в зависимости от реализации случайных параметров условий статистическими характеристиками. На втором этапе анализа стохастической модели решающие правила или распределения используются для оперативного решения задачи. Второй этап естественно называть оперативным этапом анализа стохастической модели. Заметим, что при отсутствии статистических характеристик случайных исходных данных можно заменить на предварительном этапе прямой путь построения решающих механизмов адаптивным -- итеративным методом решения стохастической задачи по последовательным наборам реализаций случайных параметров условий задачи. Стохастическое программирование определяет новый подход к алгоритмизации управления в сложных системах. Математическое обеспечение сложных экстремальных управляющих систем целесообразно компоновать не из алгоритмов решения экстремальных задач, а из решающих правил соответствующих стохастических расширений. При этом формирование законов управления -- решающих правил или решающих распределений -- связывается не с оперативной работой, а с этапом проектирования управляющей системы. Стохастическое программирование и, в частности, стохастическое расширение открывают, таким образом, путь оперативного анализа сложных задач, альтернативой которому являются экспертные оценки и волевые решения.
Для решения задачи стохастического программирования в Р-постановке и с вероятностными ограничениями переходят к детерминированному эквиваленту.
Для целевой функции детерминированный эквивалент имеет вид:
· при минимизации целевой функции
2.1
· при максимизации целевой функции
2.2
где ?2j -- дисперсия случайной величины сj Решение таких задач затруднительно, поэтому далее рассматриваем целевая функция только в М- постановке. Детерминированный эквивалент вероятностного ограничения типа (а)
2.3
может быть сведен к виду:
2.4
где ai j , bi -- математические ожидания; , ? i j 2 , ? i 2 -- дисперсии случайных величин aij , bi ; ta = Ф*-1(ai) -- обратная функция нормального распределения при функции распределения:
2.5
где ai -- заданный уровень вероятности (табл. 2.1).
Обычно решают задачи при ai > 0,5, поэтому даны значения ta только для положительных ta..
Таблица 2.1
ai |
0,5 |
0,6 |
0,7 |
0,77 |
0,84 |
0,89 |
0,93 |
0,96 |
0,98 |
0,987 |
0,994 |
|
t a |
0,0 |
0,25 |
0,5 |
0,75 |
1 |
1,25 |
1,5 |
1,75 |
2,0 |
2,25 |
2,5 |
Если же ai < 0,5; то t1-a = - ta. Так, для а = 0,4; t0,4 = t(1-0,6) = - t 0, 6 =0,25.
Детерминированный эквивалент задачи СТП в М-по- становке имеет вид
2.6
Из (2.6) следует, что для решения задачи стохастического программирования в М-постановке необходимы исходные данные, приведенные в предыдущей таблице.
Каждое 1-е ограничение в детерминированном эквиваленте (2.6) отличается от аналогичного ограничения задачи линейного программирования следующим:
2.7
· от детерминированных значений aij, bi выполнен переход к математическим ожиданиям случайных величин aij, bi;
· появился дополнительный член ( ? )
который учитывает все вероятностные факторы: закон распределения с помощью ta; заданный уровень вероятности ai ; дисперсии случайных величин aij равные ? ij 2; дисперсии случайных величин bi равные ? i 2.
3. Решение задач СТП
Детерминированный эквивалент задачи стохастического программирования в М-постановке включает ограничения, которые являются нееепарабельными функциями. Обозначим
3.1
тогда задачу стохастического программирования можно записать в сепарабельной форме:
3.2
где
Эта задача является сепарабельной задачей нелинейного программирования и может быть решена с помощью стандартных программных средств.
Функция F(x1, х2, хп) называется сепарабельной, если она может быть представлена в виде суммы функций, каждая из которых является функцией одной переменной, т. е. если
Если целевая функция и функции в системе ограничений задачи нелинейного программирования сепарабелъные, то приближенное решение может быть найдено методом кусочно-линейной аппроксимации.
Пример 1. Рассмотрим задачу распределения двух видов ресурсов для выпуска двух наименований изделий.
Решение. Ее модель:
где a i j , bi , cj -- случайные.
При М-постановке модель запишется:
где a1, a2 -- заданные уровни вероятности соблюдения каждого ограничения.
Для того чтобы решить задачу в М-постановке, необходимо перейти к ее детерминированному эквиваленту:
Исходные данные, необходимые для решения этой задачи, сведены в таблицах 3.3 и 3.4.
Таблица 3.3
Величина |
С |
d |
D |
|
X1 |
5 |
2 |
6 |
|
X2 |
8 |
3 |
9 |
Таблица 3.4
Ограничения |
Случайные величины |
||||||
ai1 |
ai2 |
bi |
|||||
|
|
|
|||||
1 |
10 |
2 |
15 |
3 |
100 |
9 |
|
2 |
20 |
6 |
14 |
4 |
150 |
12 |
Если задать уровни вероятности a1,2 = 0,6, для которых ta = 0,25, то получим после подстановки исходных данных детерминированный эквивалент:
Результаты решения этой задачи для детерминированного случая ? i = 0 и при a i = 0,6 (табл. 3.5), где
Таблица 3.5
Величина |
? i = 0 |
a i = 0,6 |
Величина |
? i = 0 |
a i = 0,6 |
|
x1 |
2 |
2 |
?1 |
0 |
4,4 |
|
x2 |
5,3 |
5,04 |
?2 |
0 |
5,8 |
|
L |
52,4 |
50,3 |
?1 |
0 |
4,4 |
|
? |
0 |
4 |
?2 |
0 |
5,1 |
Таблица 3.6
Величина |
a1,2 |
||||||
0,5 |
0,6 |
0,77 |
0,89 |
0,96 |
0,987 |
||
x1 |
2 |
2 |
2 |
3,71 |
3,07 |
2,165 |
|
x2 |
5,3 |
5,04 |
4,51 |
3 |
3 |
3 |
|
L |
52,4 |
50,3 |
46,1 |
42,6 |
39,3 |
34,8 |
|
? |
0 |
4 |
12 |
18,7 |
25 |
33,6 |
|
?1 |
0 |
4,4 |
12,3 |
17,9 |
24,3 |
33,3 |
|
?2 |
0 |
5,1 |
14,8 |
16,5 |
23,2 |
26 |
Рассмотрим теперь, как повлияют на результат решения задачи величины, определяющие ее вероятностный характер. К таким величинам относят заданный уровень вероятности ai, и дисперсий ?ij2 и ?i2. Начнем с анализа влияния ai (табл. 3.6).
Из анализа решения этой задачи можно сделать следующие выводы: для обеспечения гарантированного (с вероятностью a = 0,6) выполнения плана необходимо иметь дополнительно около 5% каждого вида ресурса. При отсутствии дополнительного ресурса целевой функции может уменьшиться на величину (? = 4% вследствие возможного сокращения выпуска продукции х2 от 5,3 до 5,04.
Этот пример подтверждает тот факт, что в реальных условиях для гарантированного выполнения плана необходимы дополнительные ресурсы в размере ? i противном случае возможно уменьшение выпуска продукции.
При этом можно сделать выводы:
1) в целях повышения заданного уровня вероятности выполнения плана ai требуется увеличить дополнительные ресурсы ?i. Так, для выполнения плана с вероятностью, близкой к 1 (а = 0,987), необходим дополнительный ресурс в размере ?i = 26, ..., 33% от величины используемого без учета вероятностных характеристик;
2) отсутствие такого увеличения может привести к ухудшению целевой функции на величину ? = 33,6%;
3) возрастание a отражается на номенклатуре продукции. При этом в интервале a = 0,5, ..., 0,77 значение х1 сохраняется неизменным, а х2 -- уменьшается. При дальнейшем увеличении а = 0,89, ..., 0,987 значение х2 = const, в то время как х1 сначала скачком растет, а затем постепенно уменьшается. Несмотря на то что при а = 0,89 значения x1,2 резко изменяются, целевая функция во всем интервале изменения а уменьшается плавно. Таково влияние заданного уровня вероятности соблюдения ограничений а на результат решения задачи.
Для большей реальности и выполнимости планов элементы модели должны постоянно уточняться по фактическим реализациям случайных величин.
Заключение
При написании курсовой работы по дисциплине «Математические методы» на тему « Стохастическое программирование » у меня возникали непонятности в теоритической части, так как каждый автор пишет по разному, но мне пришлось понимать и разбираться в каждой из книг.
Список литературы
1. « Математические методы в программировании » : / Агальцов В.П., Волдайская И.В. Учебник : - М . : ИД «ФОРУМ» : ИНФРА-М, 2006. - 224с. : ил. -(Профессиональное образование). - (Учимся программировать).
2. Лекции по дисциплине « Математические методы ».
3. «Математические методы: Учебник» / Партика Т.Л., Попов И.И. - М: ФОРУМ: ИНФРА, 2005.
4.Интернет сайт: http://ru.wikipedia.org/wiki/
5.«Математическое программирование» / Костевич Л., издательство «Новое знание», 2003.
Подобные документы
Основные понятия математического линейного программирования. Постановка и методы решения заданий целочисленного и параметрического составления программ. Примеры вычисления задач с параметрами в целевой функции и в свободных членах системных ограничений.
дипломная работа [432,0 K], добавлен 25.10.2010Постановка задачи линейного программирования и формы ее записи. Понятие и методика нахождения оптимального решения. Порядок приведения задач к каноническому виду. Механизмы решения задач линейного программирования аналитическим и графическим способами.
методичка [366,8 K], добавлен 16.01.2010Теоретическая основа линейного программирования. Задачи линейного программирования, методы решения. Анализ оптимального решения. Решение одноиндексной задачи линейного программирования. Постановка задачи и ввод данных. Построение модели и этапы решения.
курсовая работа [132,0 K], добавлен 09.12.2008Постановка задачи нелинейного программирования. Определение стационарных точек и их типа. Построение линий уровней, трехмерного графика целевой функции и ограничения. Графическое и аналитическое решение задачи. Руководство пользователя и схема алгоритма.
курсовая работа [2,5 M], добавлен 17.12.2012Вычисление значения интеграла функции, заданной графически. Постановка задач. Составление таблицы значений функции, заданной в виде разложения в ряд. Математическая формулировка. Численный метод решения. Схемы алгоритмов. Инструкции пользователям.
курсовая работа [56,3 K], добавлен 05.07.2008Модель дискретного программирования как способ нахождения максимума целевой функции на множестве. Коды на языках Java и C# для решения заданий с неделимостями. Применение методов итерации Гомори и "ветвей и границ". Описание решения комбинаторных задач.
курсовая работа [1,0 M], добавлен 03.04.2011Математическое программирование. Линейное программирование. Задачи линейного программирования. Графический метод решения задачи линейного программирования. Экономическая постановка задачи линейного программирования. Построение математической модели.
курсовая работа [581,5 K], добавлен 13.10.2008Критерий эффективности и функции в системе ограничений. Общая постановка задачи линейного программирования. Составление математической модели задачи. Алгоритмы решения задачи симплексным методом. Построение начального опорного решения методом Гаусса.
курсовая работа [232,4 K], добавлен 01.06.2009Выбор метода моделирования дифференциальной стохастической системы и постановка задачи. Построение численной модели дифференциальной стохастической системы. Результаты моделирования. Текст программы. Проверка датчика случайных.
курсовая работа [429,6 K], добавлен 22.06.2007Постановка задач линейного программирования. Примеры экономических задач, сводящихся к задачам линейного программирования. Допустимые и оптимальные решения. Алгоритм Флойда — алгоритм для нахождения кратчайших путей между любыми двумя узлами сети.
контрольная работа [691,8 K], добавлен 08.09.2010