Задача определения оптимальной цены реализации продукции

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 02.02.2014
Размер файла 126,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

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

Пояснительная записка к курсовому проекту по курсу “Теория принятия решений” Задача определения оптимальной цены реализации продукции. Вариант 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. Получено оптимальное решение поставленной задачи.

стоимость цена программный

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

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+85004900;

2) -2.1p2+79005100;

3) -0.67p3+1320011300;

4) -1.5p1-2.1p2-0.67p3+2960015000;

5) p10;

6) p20;

7) p30;

8) V10;

9) V20;

10) V30.

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

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

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

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

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

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

, (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,?) - функция Лагранжа.

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

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

- Алгоритмы, использующие симплекс-метод;

- Градиентные методы;

- Прочие специальные методы.

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

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

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

P'x+x'Cx -> min,

Ax b,

x 0

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

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

Ax + y = b; (1)

2Cx - v + A' = -p; (2)

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

xV + Y = 0. (4)

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

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

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

а) алгоритм:

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

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

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

Z' = ||v, ,x,y||,

такой, что

z'I=zi+N, z'I+N=zi,

i = 1,2,..,N,

xV+Y = 1/2zz'.

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

(5)

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=2?j+ ?j?j,

где ?j=djd'0 и ?j=djd'j.

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

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

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

Таблица 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-я переменная, которая встает на место переменной заменяющего столбца. Затем все его элементы делятся на опорный, который при этом становится равным единице. Тем самым получаем заменяющий столбец с новыми элементами. Для получения остальных столбцов новой таблицы, из соответствующих столбцов старой вычитаем уже построенный заменяющий столбец, умноженный на элемент, стоящий на пересечении преобразуемого столбца старой таблицы и заменяющей строки.

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

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

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

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

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

1)-1.5p1+9500 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.

Составим следующие матрицы:

n = 3, m = 4, N = 7, 2N = 14.

Матрица С выполняет требования, т.к. является симметричной и положительно полуопределенной, что гарантирует выпуклость целевой функции. Для нашей задачи из выражения (5) (см. выше) получим:

Откуда можно получить следующие уравнения:

-1.5*p1 + Y1 = -3600;

-2.1*p2 + Y2 = -2800;

-0.67*p3 +Y3 = -1900;

-1.5*p1 -2.1*p2 - 0.67*p3 + Y4 = -14600; (8)

3*p1 - V1 -1.5* ?1 -1.5* ?4 = 8500;

4.2*p2 - V2 - 2.1*?2 - 2.1*?4 = 7900;

1.34*p3 - V3 - 0.67*?3 - 0.67*?4 = 13200.

Для получения допустимого базисного решения (опорного решения) можно использовать любой метод отыскания опорного решения задачи ЛП. Для системы (8) достаточно выбрать p1,p2,p3,Y1,Y2,Y3,Y4 базисными, тогда:

Значит P1 = 8500/3, P2 = 7900/4.2, P3 = 13200/1.34, Y1 = 650, Y2 = 1150, Y3 = 4800, Y4 = 200- опорное решение. Составим симплекс-таблицу, учтя, что знаки коэффициентов при свободных переменных (в отличии от симплекс-таблицы задачи ЛП) не меняются. Пустые клетки соответствуют нулевым коэффициентам.

Таблица 2

1

V1

V2

V3

P1

8500/3

0.33

0.5

0.5

P2

7900/4.2

0.238

0.5

0.5

P3

13200/1.34

0.75

0.5

0.5

Y1

650

0.5

0.75

0.75

Y2

1150

0.5

1.05

1.05

Y3

4800

0.5

0.335

0.335

Y4

200

0.5

0.5

0.5

0.75

0.05

0.335

2.135

V1

1

V2

1

V3

1

1

1

1

1

? j

0

? j

?j

?j

Т.к. ?0=0, то сразу получаем оптимальное решение:

P1 = 2833.33;

P2 = 1880.95;

P3 = 9850.746;

Y1=650, Y2=1150,Y3=4800,Y4=200;

V1=0, V2=0,V3=0;

?1=0, ?2=0, ?3=0, ?4=0.

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

Сравним полученное решение с решением на пакете программ GINO.

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

С другой стороны, GINO используется для решения промышленных нелинейных, квадратичных программ значительного размера (более 10000 строк и несколько тысяч переменных).

Чтобы решить данную задачу нужно составить программную модель. Эта модель имеет следующий вид:

MODEL:

1) max=-1.5*X1^2-2.1*X2^2-0.67*X3^2+8500*X1+7900*X2+13200*X3;

2) -1.5*X1+7900 < 4900;

3) -2.1*X2+7900 < 5100 ;

4) -0.67*X3+13200 < 11300;

5) -1.5*X1-2.1*X2-0.67*X3+29600 < 15000;

6) X1>0 ;

7) X2 > 0 ;

8) X3 > 0;

END

Программу можно набрать вручную, либо загрузить из файла c помощью команды take<имя файла>. Командой Look all можно просмотреть весь этот файл. Чтобы получить решение задачи нужно выполнить команду go.

В результате работы на пакете программ GINO было получено оптимальное решение. Оно совпало с решением задачи “вручную”.

TOTAL FRACTIONAL CHANGE IN OBJECTIVE LESS THAN 1.00000E-04 FOR 4 CONSECUTIVE

ITERATIONS

OBJECTIVE FUNCTION VALUE

1) 84486352.615718

VARIABLE VALUE REDUCED COST

X1 2833.181956 .000000

X2 1880.886440 .000000

X3 9850.676452 .000000

ROW SLACK OR SURPLUS PRICE

2) 1249.772933 .000000

3) 1149.861344 .000000

4) 4699.953387 .000000

5) 199.587665 .000000

6) 2833.181956 .000000

7) 1880.886440 .000000

8) 9850.676452 .000000

Список использованной литературы

1. Есипов Б.А. Лекции по курсу “Теория принятия решений”, 2001

2. Решение задач по курсу “Исследование операций”: нелинейное программирование. / методические указания, составитель Есипов Б.А., Куйбышев, 1988, 42с.

3. Линейное и нелинейное программирование / под ред. Е.Е. Караваева. - М.: Наука, 1999, 190 с.

4. Кузнецов Ю.Н., Кузубов В.Н., Волощенко А.Б. Математическое программирование. М.: Высшая школа, 1980, 190 с.

Размещено на Allbest.ru


Подобные документы

  • Определение оптимального сочетания посевов сельскохозяйственных культур, обеспечивающего максимум производства валовой продукции в стоимостном выражении. Урожайность и цены реализации продукции. Содержание питательных веществ в 1 кг корма и себестоимость.

    лабораторная работа [49,1 K], добавлен 01.06.2017

  • Планирование прибыли при производстве двух видов топлива. Составление оптимального плана выпуска продукции для получения максимальной прибыли от ее реализации. Определение опорного плана перевозок грузов методом минимальной стоимости и с помощью Excel.

    контрольная работа [32,5 K], добавлен 12.11.2014

  • Создание программы, автоматизирующей расчет коэффициента ритмичности продукции с использованием электронных таблиц средствами языка программирования Си. Консолидация данных в MSExcel. Программная реализация алгоритма. Тестирование разработанного ПО.

    курсовая работа [3,0 M], добавлен 07.06.2014

  • Особенности метода неопределенных множителей Лагранжа, градиентного метода и метода перебора и динамического программирования. Конструирование алгоритма решения задачи. Структурная схема алгоритма сценария диалога и описание его программной реализации.

    курсовая работа [1010,4 K], добавлен 10.08.2014

  • Методы определения оптимального плана производства (приобретения) продукции с учетом ограниченного обеспечения ресурсами различного вида. Технология поиска оптимального решения задач линейного программирования (ЗЛП) с помощью итоговой симплекс-таблицы.

    лабораторная работа [42,8 K], добавлен 11.03.2011

  • Исследование математико-экономической модели компании с целью выработки оптимального решения по выпуску продукции для получения максимальной прибыли и минимизации затрат с помощью методов оптимизации и программы MS Excel и инструментального пакета Matlab.

    дипломная работа [3,1 M], добавлен 15.06.2014

  • Обыкновенное дифференциальное уравнение первого порядка. Задача Коши, суть метода Рунге-Кутта. Выбор среды разработки. Программная реализация метода Рунге-Кутта 4-го порядка. Определение порядка точности метода. Применение языка программирования C++.

    курсовая работа [163,4 K], добавлен 16.05.2016

  • Определение оптимального плана выпуска продукции частного предприятия по изготовлению мебели с применением метода линейного программирования (симплекс-метод). Построение схемы движения информации в подсистеме оптимального плана выпуска продукции.

    лабораторная работа [301,5 K], добавлен 08.06.2009

  • Определение оптимального объема выпускаемой продукции математическим методом, симплекс-методом и с помощью Excel. Решение задачи по оптимальному распределению инвестиций с использованием прикладной программы Excel. Составление оптимальной схемы перевозок.

    курсовая работа [111,9 K], добавлен 10.09.2012

  • Определение с помощью симплекс-метода плана выпуска продукции для получения максимальной прибыли, чтобы сырьё II вида было израсходовано полностью. Решение задач линейного программирования средствами табличного процессора Excel, составление алгоритма.

    курсовая работа [53,2 K], добавлен 30.09.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.