Теория принятия решений

Автор работы: Пользователь скрыл имя, 30 Января 2014 в 21:03, курсовая работа

Краткое описание

Производственное объединение реализует n видов промышленной продукции на мировом рынке в условиях конкуренции со стороны других фирм. Известно, что объем реализации i-го вида продукции зависит линейно от цены единицы этого вида продукции pi : Vi = ai*pi+bi : чем меньше цена, тем больший объем продукции можно реализовать.

Прикрепленные файлы: 1 файл

Вар98_Алиса.doc

— 191.00 Кб (Скачать документ)

 

Министерство общего и профессионального образования  Российской Федерации 
Самарский Государственный Аэрокосмический университет 

Пояснительная записка  к курсовому проекту по курсу 
“Теория принятия решений” 
Задача определения оптимальной цены реализации продукции. 
Вариант 98

Выполнил: студентка 632 гр. Фиалко А. М. 
Руководитель проекта: Есипов Б.А.

 

Самара 2006

 

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

Вариант 98

 

Производственное объединение  реализует n видов промышленной продукции на мировом рынке в условиях конкуренции со стороны других фирм. Известно, что объем реализации i-го вида продукции зависит линейно от цены единицы этого вида продукции pi : Vi =  ai*pi+bi : чем меньше цена, тем больший объем продукции можно реализовать.

Возможности объединения по изготовлению продукции i-го вида ограничены величиной di, а сумма возможностей ограничена d0.

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

 

Параметры:

a1 = -1.5

a2 = -2.1

a3 = -0.67

b1 = 8500

b2 = 7900

b3 = 13200

d1 = 4900

d2 = 5100

d3 = 11300

d0 = 15000

 

РЕФЕРАТ

 

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

Пояснительная записка:   13 стр., 2 таблицы, 4 источника.

 

Ключевые слова: КВАДРАТИЧНОЕ ПРОГРАММИРОВАНИЕ, НЕЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ, МЕТОД БАРАНКИНА И ДОРФМАНА, МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ, ЦЕЛЕВАЯ ФУНКЦИЯ, ОГАРНИЧЕНИЯ – НЕРАВЕНСТВА, ОПТИМАЛЬНОЕ РЕШЕНИЕ.

 

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

 

Содержание

 

 

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

 

Vi – объем реализации i-го вида продукции,

pi – цена единицы i-го вида продукции,

di – объем производства i-го вида продукции,

d0 – общий объем производства продукции,

ai, bi – коэффициенты в заданном уравнении,

i = 1,2,3.

 

Здесь ai, bi, di, d0 являются постоянными величинами, а pi – управляемые переменные, которые нужно подобрать таким образом, чтобы реализовать все виды продукции с получением наибольшей стоимости. Управляемых переменных 3, а ограничений – 10.

Тогда математическая модель имеет  вид:

 

F = a1p12 + b1p1 + a2p22 + b2p2 + a3p32 + b3p3-> max

 

    1. –1.5p1+8500£4900;
    2. –2.1p2+7900£5100;
    3. –0.67p3+13200£11300;
    4. –1.5p1–2.1p2–0.67p3+29600£15000;
    5. p1³0;
    6. p2³0;
    7. p3³0;
    8. V1³0;
    9. V2³0;
    10. V3³0.

Эта задача относится  к классу задач квадратичного  программирования.


 

Обоснование и выбор метода решения

 

Данная задача принадлежит  к типу задач квадратичного программирования. Это частный случай задачи нелинейного  программирования.

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


 

Задача нелинейного программирования.

Рассмотрим задачу математического  программирования:

,        (1а)

              (2а)

            (3а)

,      ,        (4а)

здесь F(x) – целевая функция, выражение (2) – ограничения равенства, выражение (3) – ограничения неравенства, x – вектор переменных, Dj – некоторые множества.

Если хотя бы одна из функций F(x), φi(x) - нелинейная, то это модель задачи нелинейного программирования. Решение подобных задач возможно только для некоторых классов функций F(x), φi(x), и когда Dj - множество действительных чисел

Задача квадратичного  программирования = частный случай задачи нелинейного программирования, в которой целевая функция = сумма линейной и квадратичной функции, а все ограничения линейны:

,  (5а)

,      (6а)

         (7а)

 

или в матричном виде  (P,x,B – векторы-столбцы):

,      (8а)

,          (9а)

           (10а)

В выражении (8а) матрица С должна быть симметричной и положительно полуопределенной – это гарантирует выпуклость целевой функции (5а). Известно, что для задачи выпуклого нелинейного программирования справедлива теорема Куна-Таккера, выражающая необходимые условия того, что точка x0 является решением задачи  нелинейного программирования:


(11а)

    


(12а)

    

 

где Ф=Ф(x,λ) – функция  Лагранжа.

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

Методы квадратичного  программирования можно разделить  на три группы:

  • Алгоритмы, использующие симплекс-метод;
  • Градиентные методы;
  • Прочие специальные методы.

 

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


Метод Баранкина - Дорфмана

 

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

P’x+x’Cx -> min,

Ax £ b,

x ³ 0

Исходя из теоремы Куна-Таккера, обозначим:

 

 

В данном случае условия Куна –  Таккера запишутся в виде:

  Ax + y = b;                                     (1)                     

2Cx - v + A’l = -p;                         (2) 

x ³ 0, Y ³ 0, V ³ 0, l ³ 0;               (3)

xV + Yl = 0.                                    (4)

Отметим, что последнее  равенство (4) может выполняться только для допустимого базисного решения системы, которое характеризуется той особенностью, что из

2(n + m) ограниченных по  знаку переменных x, V, Y,  l самое большое N переменных, где N = n + m – число равенств в этой системе, отличны от нуля.

Идея метода Баранкина и Дорфмана заключается в том, что процедура последовательного отыскания решения начинается с базисного решения системы (1)-(3), которое не обязательно удовлетворяет условию (4). Затем с использованием симплекс-метода добиваются равенства нулю выпуклой функции xv + yl.

 

а) алгоритм:

Для удобства изложения все переменные представим в виде 2N – мерного  вектора

Z = ||x,y,v, l|| .

Можно поставить в  соответствии каждому вектору z вектор z’, определяемый соотношением

Z’ = ||v, l,x,y||,

такой, что

z’I=zi+N, z’I+N=zi,

i = 1,2,..,N,

 

xV+Yl = 1/2zz’.

С помощью этих векторов, условия (1) – (4) запишутся в виде:

 

 


   

A

E

0

0

 

  z     =

 

B

 

(5)

 

          

 

2C

0

-E

AT

   

-p

 

 

     T(z) = zz’ = 0, z ³ 0.

Исходя из некоторого допустимого базисного решения системы (5), совершим последовательность симплекс преобразований, с помощью которых будем уменьшать выпуклую функцию T(z) = zz’, пока не достигнем значения T = 0.

Допустим, имеется некоторое  допустимое базисное решение системы (5). Симплекс – таблица в данном случае должна задавать входящие в базис переменные zg как функцию от N небазисных переменных zvh=th, не входящих в базис:

 

, g=1,2,..,2N.                          (6)

эту запись можно использовать и для небазисных переменных из числа zg. Для этого симплекс-таблица дополняется строками, все элементы которой (кроме одного, равного единице) равны нулю. В этих строках для небазисной переменной zg = tj будет dgh = 0, h =j, a dgj = 1. функциональную зависимость (6) можно записать в векторном виде:

    .                                               (7)

 При небазисных  переменных th = 0 формула (7) перепишется в виде

Z = d0 ≥ 0,   T=d0d’0.

Далее tj=θ>0 и z = d0+ θdj. Увеличиваем переменную tj пока некоторая j-ая из базисных переменных не обратится в нуль. Она определяется из условия:

 при dgi<0.

Тогда новое базисное решение: z’ = d0 + θidj, а величина T  соответственно

Tj = T + θjkj,    где   

Kj=j+ θjβj,     где

αj=djd’ и  βj=djd’j.

 

Очевидно, что kj<0. Если таких несколько, то выбирается то, которому соответствует наименьшее отрицательное произведение θjkj.

 

б) вычислительная схема

После определения допустимого  базисного решения строят симплексную  и дополнительную таблицы в виде табл.1.

                                        1                                    z1                   …     zN  


 

   Симпл   x1=z1                 d10                            d11                     …   d1,N

   Табл   … 

              …

               ym=zN             dN,0                          dN,1                   …   dN,N

               V1=zN+1          dN+1,0                      dN+1,1             …   dN+1,N   

              …

              … 

               λm=z2N            d2N,0                        d2N,1                …   d2N,N  


                                                                               α1                  …   αN   

  дополнительная            α0                                 β1                  …   βN

  таблица                                                                θ1                  …   θN   


                                                                               k1                  …   kN

 

таблица 1.

 

 

В  отличие от стандартной симплекс-таблицы здесь добавлена таблица для дополнительных переменных  α 0, α j, βj, θj, kj, которые вычисляются по следующим формулам:

 

α 0 = T = d0d’0=2∑di0di+N,0

 

При α 0 = 0 сразу получаем оптимальное решение. В противном случае дополнительно находим:

 

α j = ∑(dijdi+N,0 + di+N,jdi,0),   j = 1,…,N.

 

Далее для j , для которых  α j < 0, определяются:

 

βj = 2∑dijdi+N,j ;

 

 при dgj < 0.

Для определения элемента j вычисляются:

 

Kj = 2 α j + βjθj .

 

В качестве заменяющего столбца выбирается такой, для которого отрицательное произведение θj Kj наименьшее. Элемент dgj , по которому определено θj , становится опорным, и из базиса удаляется соответствующая ему g-я переменная, которая встает на место переменной заменяющего столбца. Затем все его элементы делятся на опорный, который при этом становится равным единице. Тем самым получаем заменяющий столбец с новыми элементами. Для получения остальных столбцов новой таблицы, из соответствующих столбцов старой вычитаем уже построенный заменяющий столбец, умноженный на элемент, стоящий на пересечении преобразуемого столбца старой таблицы и заменяющей строки.

 

Использование метода для  решения задачи.

 

В настоящее время  подобные задачи легко решаются при  помощи современных ЭВМ. Для решения данной задачи воспользуемся пакетом программ Gino. Но прежде решим ее вручную.

Решение задачи.

Поиск решения задачи начинается с приведения составленной целевой функции к минимуму:

 

L’ = 1.5p12 -8500p1 + 2.1p22 - 7900p2 + 0.67p32 - 13200p3-> min

Информация о работе Теория принятия решений