Вход

Методы оптимизации в задачах планирования производства

Реферат* по математике
Дата добавления: 20 апреля 2010
Язык реферата: Русский
Word, rtf, 2.3 Мб (архив zip, 172 кб)
Реферат можно скачать бесплатно
Скачать
Данная работа не подходит - план Б:
Создаете заказ
Выбираете исполнителя
Готовый результат
Исполнители предлагают свои условия
Автор работает
Заказать
Не подходит данная работа?
Вы можете заказать написание любой учебной работы на любую тему.
Заказать новую работу
* Данная работа не является научным трудом, не является выпускной квалификационной работой и представляет собой результат обработки, структурирования и форматирования собранной информации, предназначенной для использования в качестве источника материала при самостоятельной подготовки учебных работ.
Очень похожие работы

Введение.

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

Наши средства и ресурсы всегда ограничены. Жизнь была бы менее интересной, если бы это было не так. Не трудно выиграть сражение, имея армию в 10 раз большую, чем у противника; Ганнибалу, чтобы разбить римлян при Каннах, командуя вдвое мень­шей армией, нужно было действовать очень обдуманно.

Чтобы достичь наибольшего эффекта, имея ограниченные средства, надо составить план, или программу действий. Раньше план в таких случаях составлялся «на глазок» (те­перь, впрочем, зачастую тоже). В середине XX века был создан специальный математиче­ский аппарат, помогающий это делать «по науке». Соответствующий раздел математики называется математическим программированием. Слово «программирование» здесь и в аналогичных терминах («линейное программирование, динамическое программирование» и т.п.) обязано отчасти историческому недоразумению, отчасти неточному переводу с английского. По-русски лучше было бы употребить слово «планирование».

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

Итак, термин в названии восходит к общему смыслу слова ''программа'' - план, ру­ководство к действию и как таковая, дисциплина ''линейное программирование'' представ­ляет собой математическую теорию определения наилучших планов действия в опреде­ленных экономических ситуациях.

Что это за ситуации? В первую очередь их можно охарактеризовать наличием од­ной хорошо определенной цели или критерия. В этом случае не годится стремление ''чтобы все было хорошо'', цель должна измеряться в определенных единицах и однознач­но определяться выбранным планом действий. Более подходящим примером может быть доход от деятельности предприятия, а планом действий в данном случае может быть про­изводственная программа предприятия.

Поэтому, цель данной работы раскрыть не только сущность линейного программи­рования, но и найти возможность его использования в социальной сфере.



Условия задачи:

DT

RT

VT

Dж

Rж

Vж

BD

ВR

BV

ST

Sж

P0

P1

P2

7

5

7

10

6

2

0

700

560

12

14

20

0,03

200


Дополнительная возможность 1: получение ссуды.

То есть задача формулируется следующим образом:

Строительная фирма имеет возможность постройки двух видов зданий: торговый комплекс или жилой дом. Каждый вид сооружается в течение года. Для сооружения тысячи «торговых» квадратных метров требуется вложить 7 миллионов рублей, задействовать 5 рабочих и затратить 7 тысяч кубометров стройматериалов. Для сооружения тысячи квадратных метров «жилой» площади требуется вложить 10 миллионов рублей, задействовать 6 рабочих и затратить 2 тысячи кубометров стройматериалов. За каждую тысячу квадратных метров торговых площадей фирма получает доход 12 млн. рублей, а за каждую тысячу кв. жилой площади – 14 млн. рублей. На складах фирмы имеется 560 тысяч кубометров стройматериалов, в штате фирмы 700 рабочих, а собственный капитал фирмы составляет 0 рублей. Кроме того, фирма может взять кредит в банке в размере у млн. руб., при этом в конце года фирма платит за кредит процентов годовых, если сумма кредита превышает 50 млн. руб. и процентов годовых, если сумма кредита меньше.

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


РЕШЕНИЕ


Составим экономико-математическую модель задачи. Для этого обозначим х1 – количество тысяч квадратных метров торговых площадей, а х2 – количество тысяч квадратных метров жилой площади построенных фирмой. Кредит у (в млн. руб.), полученный фирмой в банке может быть любым неотрицательным числом.

Эта задача является задачей оптимального использования ресурсов. Система ограничений, получаемая из ограниченности ресурсов, имеет вид:

(1)

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

Далее, х1 и х2 являются неотрицательными (нельзя построить отрицательное число квадратных метров зданий), что дает нам тривиальные ограничения задачи:

(2)

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

(3)

где функция отражает выплаты банку. Она связана с процентной ставкой Р и суммой кредита у следующим соотношением:

Согласно условию задачи получаем:

(4)

Из-за нелинейности функции (4) к данной задаче нельзя применить методы линейного программирования непосредственно. Задача же нелинейно го программирования (1)–(4) достаточно сложна.

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

(5)

(6)

(7)

рассматривая у как параметр (известную величину). В результате решения задачи (5)–(7) получаем оптимальный план, в котором х1*, х2* и Z* зависят от у.

На втором этапе решаем задачу нелинейного программирования. Ищем у из задачи

(8)

(9)

Задача (8), (9), (4) – одномерная задача, и ее можно легко решить графически с последующим аналитическим уточнением.


ЭТАП 1


Для решения задачи симплекс–методом приведем систему (5)–(7) к каноническому виду, введя дополнительные балансовые переменные х3, х4, х5, которые означают неиспользованное количество денег, рабочих и стройматериалов соответственно. При этом неравенства (6) преобразуются в уравнения:

(10)

По смыслу балансовые переменные здесь также неотрицательны, поэтому тривиальная система неравенств принимает вид:

для всех j = 1,5. (11)

Введем балансовые переменные и в целевую функцию с коэффициентами равными нулю:

(12)

Задача в форме (12), (10), (11) имеет канонический вид. Соответствующая ей векторная форма записи будет такова:

Здесь векторы Р3, Р4 и P5 имеют базисный вид, т.е. являются единичными в одном из компонентов и нулевыми во всех остальных компонентах. Их и возьмем в качестве первоначальных базисных векторов. Данная задача является классической задачей оптимального использования ресурсов, и поэтому ней всегда имеется возможность выделить первоначальные базисные вектора.

Составим первоначальную симплексную таблицу:


Таблица 1.

СБ

Б

0

12

14

0

0

0

Р0

Р1

Р2

Р3

Р4

Р5

0

Р3

у

7

10

1

0

0

у/10

0

Р4

700

5

6

0

1

0

700/6 = 117

0

Р5

560

7

2

0

0

1

560/2 = 280

0

–12

–14

0

0

0


Ведущим столбцом будет второй столбец, так как ему в индексной строке соответствует самое отрицательное число. При определении ведущей строки среди симплексных отношений а, полученных в последнем столбце, нужно выбрать наименьшее. Очевидно, что а32, > a22 при любых значениях у. Соотношение между а10 и а12 зависит от у.


1. Рассмотрим случай у/10?700/6. Тогда у?3500/3 и ведущей строкой будет вторая строка:

СБ

Б

0

12

14

0

0

0

Р0

Р1

Р2

Р3

Р4

Р5

0

Р3

у

7

10

1

0

0

у/10

0

Р4

700

5

6

0

1

0

700/6 = 117

0

Р5

560

7

2

0

0

1

560/2 = 280

0

–12

–14

0

0

0


Таким образом, в базис входит вектор Р2, а покидает его Р4.

Пересчитаем таблицу по всем правилам пересчета симплексных отношений. Получаем новую симплексную таблицу:

СБ

Б

0

12

14

0

0

0

Р0

Р1

Р2

Р3

Р4

Р5

0

Р3

у–3500/3

–4/3

0

1

–5/3

0


14

Р2

350/3

5/6

1

0

1/6

0

140

0

Р5

980/3

16/3

0

0

–1/3

1

61

4900/3

–1/3

0

0

7/3

0


В индексной строке есть отрицательный элемент, поэтому проведём следующую итерацию:

СБ

Б

0

12

14

0

0

0

Р0

Р1

Р2

Р3

Р4

Р5

0

Р3

у–1085

0

0

1

–7/4

1/4

14

Р2

525/8

0

1

0

7/32

5/32

12

Р1

245/4

1

0

0

–1/16

3/16

6615/4

0

0

0

37/16

1/16

Так как в индексной строке все элементы неотрицательны, то данный план является оптимальным. Таким образом, при у?3500/3 план х1* = 245/4, x2* = 525/8, х3* = (у–1085), х4* = 0, х5* = 0, а значение функции равно Z* = 6615/4.


2. Теперь рассмотрим случай у < 3500/3. Тогда в таб. 1 ведущей строкой будет первая строка:

СБ

Б

0

12

14

0

0

0

Р0

Р1

Р2

Р3

Р4

Р5

0

Р3

у

7

10

1

0

0

у/10

0

Р4

700

5

6

0

1

0

700/6 = 117

0

Р5

560

7

2

0

0

1

560/2 = 280

0

–12

–14

0

0

0



В базис входит вектор Р2, а покидает его Р3. Пересчитывая, получаем новую симплексную таблицу:

Таблица 2.

СБ

Б

0

12

14

0

0

0

Р0

Р1

Р2

Р3

Р4

Р5

14

Р2

у/10

7/10

1

1/10

0

0

у/7

0

Р4

700–3у/5

4/5

0

–3/5

1

0

875–3у/4

0

Р5

560–у/5

28/5

0

–1/5

0

1

100–у/28

7у/5

–11/5

0

7/5

0

0


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

Проанализировав результат, приходим к следующим выводам:

а11 = у/7 меньше остальных симплексных отношений при у ? 560;

а21 = 875–3у/4 меньше остальных отношений при у > 1085;

а31 = 100–у/28 меньше остальных отношений при 560 < у < 1085.

Рассмотрим все три случая с учетом условий у < 3500/3 и у ? 0.


2.1. 0 ? у ? 560. Тогда в таб. 2 ведущей строкой будет первая строка.

СБ

Б

0

12

14

0

0

0

Р0

Р1

Р2

Р3

Р4

Р5

14

Р2

у/10

7/10

1

1/10

0

0

0

Р4

700–3у/5

4/5

0

–3/5

1

0

0

Р5

560–у/5

28/5

0

–1/5

0

1

7у/5

–11/5

0

7/5

0

0

В базис входит вектор Р1, а покидает его Р2. Пересчитывая, получаем новую симплексную таблицу:

СБ

Б

0

12

14

0

0

0

Р0

Р1

Р2

Р3

Р4

Р5

12

Р1

у/7

1

10/7

1/7

0

0

0

Р4

700–5у/7

0

–8/7

–5/7

1

0

0

Р5

560–у

0

–8

–1

0

1

12у/7

0

22/7

12/7

0

0

Так как в индексной строке все элементы неотрицательны, то полученный план является оптимальным. Таким образом, при 0 ? у ? 560 оптимален план: х1* = у/7, х2*=0, х3*=0, х4*=(700–5у/7), х5* = (560–у), а значение целевой функции равно Z* = 12у/7.


2.2. 1085 ? у < 3500/3. Тогда в таб. 2. ведущей строкой будет вторая строка:

СБ

Б

0

12

14

0

0

0

Р0

Р1

Р2

Р3

Р4

Р5

14

Р2

у/10

7/10

1

1/10

0

0

0

Р4

700–3у/5

4/5

0

–3/5

1

0

0

Р5

560–у/5

28/5

0

–1/5

0

1

7у/5

–11/5

0

7/5

0

0

В базис входит вектор Р1, а покидает его Р4,. Пересчитывая, получаем новую симплексную таблицу:

СБ

Б

0

12

14

0

0

Р0

Р1

Р2

Р3

Р4

14

Р2

5у/8–1225/2

0

1

5/8

–7/8

у–980

12

Р1

875–3у/4

1

0

–3/4

5/4


0

Р5

4у–4340

0

0

4

7

у–1085

1925–у/4

0

0

–1/4

11/4

0

Ведущим столбцом будет третий столбец, так как ему в индексной строке соответствует отрицательное число.

СБ

Б

0

12

14

0

0

Р0

Р1

Р2

Р3

Р4

14

Р2

525/8

0

1

0

–91/64

12

Р1

245/4

1

0

0

41/16

0

Р3

у–1085

0

0

1

7/4

6615/4

0

0

0

51/16

Так как в индексной строке все элементы неотрицательны, то полученный план является оптимальным. Таким образом, при 1085 ? у < 3500/3 оптимален план: х1* = (245/4), х2*=(525/8), х3*= у–1085, х4*=0, х5* =0, а значение целевой функции равно Z* = 6615/4.


2.3. 560 < у < 1085. Тогда в таб. 2. ведущей строкой будет третья строка:

СБ

Б

0

12

14

0

0

0

Р0

Р1

Р2

Р3

Р4

Р5

14

Р2

у/10

7/10

1

1/10

0

0

0

Р4

700–3у/5

4/5

0

–3/5

1

0

0

Р5

560–у/5

28/5

0

–1/5

0

1

7у/5

–11/5

0

7/5

0

0

В базис входит вектор P1, а покидает его P5. Пересчитывая, получаем новую симплексную таблицу:

СБ

Б

0

12

14

0

0

0

Р0

Р1

Р2

Р3

Р4

Р5

14

Р2

у/8–70

0

1

1/8

0

–1/8

0

Р4

620–4у/7

0

0

–4/7

1

–1/7

12

Р1

100–у/28

1

0

–1/28

0

5/28

37у/28+220

0

0

37/28

0

11/28

Так как в индексной строке все элементы неотрицательны, то полученный план является оптимальным. Таким образом, при 560 < у < 1085 оптимален план х1* = (100–у/28), х2*=(у/8–70), х3*=0, х4*=(620–4у/7), х5*=0, а значение целевой функции равно Z* = (37у/28+220).

Объединяя случаи 1, 2.1, 2.2, 2.3 решение можно записать в виде:

(13)

(14)

(15)

Представим эти результаты на графиках с использованием офисной программы MS Excel (Рис.1,2).

В частности, для построения графика функции Z(у) используем следующую таблицу:

где в ячейку В2 введена формула:

=ЕСЛИ(А2<560;(12/7)*А2;ЕСЛИ(А2<1085;(37/28)*А2+220;ЕСЛИ(А2<(3500/3);6615/4; 6615/4))),

и распространена на ячейки ВЗ–В6.


Значения в столбце А для краткости и наглядности выбраны соответственно рубежным значениям формул (12)–(15). Последнее значение (1300) может быть выбрано любым большим 3500/3.

Очевидно, что сумма кредита не должна превышать 3500/3 млн., так как все средства, большие 3500/3 млн. руб. при оптимальном плане не используются.


ЭТАП 2


Задачу нелинейного программирования предварительно решим графически с использованием офисной программы MS Excel.

Построим сначала графики функции Р(у) и f(y). Последнее значение берется тем же, что и для первого этапа.

Фрагмент таблицы выглядит так:

где в столбце В, в строках 2 и 3 введено число 18,56, а в 4-й строке записана формула:

=20-0,03*А4+0,000025*СТЕПЕНЬ(А4;2),

и распространена на ячейки В5–В28. В ячейку С2 введена формула:

=А2*(1+В2/100), и распространена на ячейки СЗ–С28.

Полученные графики приведены на рис. 3,4.


Объединим полученные результаты. Для этого добавим во вторую таблицу столбец с вычислением функции Z(у) из первой Excel-таблицы. После этого составим разность значений Z'(y) и f(y).

Фрагмент итоговой таблицы выглядит так:

График разности функций Z*(y) и f(y) приведен на рис. 5.

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

Согласно формуле (15), сумма оптимального дохода на интервале 560 ? у < 1085, в который попадает и наш исследуемый интервал, задается формулой:

(16)

Тогда из формул (4) и (16) получаем, что на интересующем нас интервале прибыль равна

Раскрывая скобки, получаем

Исследуем эту функцию на максимум на интервале 560 ? у < 1085. Первая и вторая производные исследуемой функции равны:

(17)

(18)

Приравнивая первую производную нулю, из (18) получаем квадратное уравнение:

Для удобства умножим все уравнение на –108. Получим:

Корни этого уравнения определяем по формуле:

Второй корень лежит вне исследуемого промежутка, и его рассматривать не будем.

Найдем из (19) значение второй производной при у = ух = 967:

Так как вторая производная отрицательна, то точка у = 967 является точкой максимума (что было видно и по графику). Таким образом, оптимальная сумма кредита равна 967 млн. руб.

Из формул (13), (14), (17) определяем оптимальный план строительства и значение прибыли при найденной оптимальной сумме кредита:

(млн. руб.).

ВЫВОД: Для оптимизации прибыли строительной фирме нужно взять кредит в размере 967 млн. рублей и построить 65,5 тыс. кв. метров торговых площадей и 50,9 тыс. кв. метров жилых площадей. При этом фирма получит прибыль около 391,9 млн. руб.


Заключение.

Линейное программирование - это наука о методах исследования и отыскания наи­больших и наименьших значений линейной функции, на неизвестные которой наложены линейные ограничения. Таким образом, задачи линейного программирования относятся к задачам на условный экстремум функции. Казалось бы, что для исследования линейной функции многих переменных на условный экстремум достаточно применить хорошо раз­работанные методы математического анализа, однако их невозможно использования.

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

Кроме того, в данной работе не только исследована, на и доказана выгодность про­ведения расчётов задач линейного программирования с использованием компьютерной техники и, в частности, электронных таблиц Excel.

В результате проведенного исследования, было получено подтверждение о выгод­ности использования математико-экономического проектирования и методов системного анализа для анализа и планирования экономических систем.


© Рефератбанк, 2002 - 2024