Оптимальний розподіл коштів на розширення виробництва

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

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

Оптимальний розподіл коштів на розширення виробництва

Зміст

Введення

1. Рекурентні природа завдань динамічного програмування

1.1 Принцип оптимальності Беллмана

1.2 Обчислювальна схема

2. Рішення задачі оптимального розподілу коштів на розширення виробництва

2.1 Рішення задачі оптимального розподілу коштів на розширення виробництва ручним способом

2.2 Рішення задачі оптимального розподілу коштів на розширення виробництва в середовищі Microsoft Exсel

Висновок

Список використаних джерел

Введення

З розвитком техніки, ускладненням структури виробництва, ускладненням і подорожчанням самих проектованих конструкцій почало складатися переконання в необхідності створення більш ефективної методики аналітичного проектування і планування, заснованого на виборі найкращого, оптимального варіанту в процесі попереднього математичного дослідження.

В даний час ця проблема оптимізації стала однією з основних проблем в технічних і економічних науках. Необхідний для її вирішення математичний апарат, здавалося б, мався на готовому вигляді - це класичний аналіз і варіаційне числення. Однак безпосереднє застосування відомого апарату зіткнулося зі значними труднощами. Реальні завдання оптимізації не вкладалися безпосередньо в класичні схеми.

Запропонований Р. Беллманом апарат функціональних рівнянь значно розширює можливості вирішення реальних проблем оптимізації. Його головною перевагою є хороша "пристосованість" до використання сучасної обчислювальної техніки.

Мета курсової роботи: вирішити задачу оптимального розподілу коштів на розширення виробництва.

Завдання: визначити рекуррентную природу завдань динамічного програмування, вивчити принцип Беллмана, його обчислювальну схему, вирішити завдання в середовищі Microsoft Excel.

Курсова робота складається з 2-ух частин. У першому розділі розглянуто теоретичні основи завдань динамічного програмування. У другому розділі наведено приклад розв'язання задачі оптимального розподілу коштів на розширення виробництва.

1. Рекурентні природа завдань динамічного програмування

Динамічне програмування (планування) являє собою математичний метод для знаходження оптимальних рішень багатокрокових (багатоетапних) завдань. Деякі з таких задач природним чином розпадаються на окремі кроки (етапи), але є завдання, в яких розбиття доводиться вводити штучно, для того щоб їх можна було вирішити методом динамічного програмування.

Нехай на деякий період часу Т, що складається з m років, планується діяльність групи промислових підприємств. На початку планованого періоду на розвиток підприємств виділяються основні кошти Q о, які необхідно розподілити між підприємствами. У процесі функціонування підприємств, виділені їм, кошти частково витрачаються. Однак кожне з цих підприємств за певний період часу (господарський рік) отримує прибуток, що залежить від обсягу вкладених коштів. На початку кожного року наявні кошти можуть перерозподілятися між підприємствами. Потрібно визначити, скільки коштів треба виділити кожному підприємству на початку кожного року, щоб сумарний дохід від всієї групи підприємств за весь період часу Т був максимальним.

Процес вирішення такого завдання є багатокрокових. Кроком управління (планування) тут господарський рік. Управління процесом полягає в розподілі (перерозподілі) коштів на початку кожного господарського року.

Нехай є вантаж, що складається з неподільних предметів різних типів, який потрібно занурити в літак вантажопідйомністю Р. Вартість і маса кожного предмета j-г o типу відомі і становлять відповідно c j, і pj одиниць ( ). Потрібно визначити, скільки предметів кожного типу треба завантажити в літак, щоб сумарна вартість вантажу була найбільшою, а маса не перевищувала вантажопідйомності літака.

Математично задача записується таким чином: знайти такі цілі невід'ємні значення х j ( ), Які б максимізувати функцію:

(1.1)

при обмеженні

(1.2)

де xj - Кількість вантажу j-г o типу, що дозволяє досягти max .

Процес вирішення даної задачі не є багатоетапним. Вона відноситься до класу задач цілочислового лінійного програмування. Однак її можна вирішити методом динамічного програмування. Для цього весь процес рішення буде потрібно розбити на етапи штучно. На першому етапі розглядають різні варіанти завантаження літака предметами першого типу і серед них знаходять оптимальний. На другому етапі визначають варіант завантаження літака предметами першого і другого типів і т.д. Процес рішення задачі продовжується до тих пір, поки не буде знайдений оптимальний варіант завантаження літака предметами n типів. [1, с 241]

Обчислення в динамічному програмуванні виконуються рекуррентно в тому сенсі, що оптимальне вирішення однієї підзадачі використовується в якості вихідних даних для наступної. Вирішивши останню підзадачі, ми отримаємо оптимальне рішення вихідної задачі. Спосіб виконання рекурентних обчислень залежить від того, як проводиться декомпозиція вихідної задачі. Зокрема, підзадачі зазвичай пов'язані між собою деякими загальними обмеженнями. Якщо здійснюється перехід від однієї підзадачі до іншої, то повинні враховуватися ці обмеження. [2, с 441]

1.1 Принцип оптимальності Беллмана

Метод динамічного програмування дозволяє одну задачу з багатьма змінними замінити поруч послідовно розв'язуваних завдань з меншою кількістю змінних. Процес виконання завдання розбивається на кроки. При цьому нумерація кроків, як правило, здійснюється від кінця до початку.

Основним принципом, на якому базуються оптимізація багатокрокового процесу, а також особливості обчислювального методу, динамічного програмування, є принцип оптимальності Р. Белмана.

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

Принцип оптимальності має конструктивний характер і безпосередньо вказує процедуру знаходження оптимального рішення. Математично він записується виразом вигляду:

(1.3)

де - Оптимальне значення ефекту, що досягається за кроків; n - кількість кроків (етапів); - Стан системи на - М кроці; - Рішення (управління), обраний на - Му кроці; - Безпосередній ефект, що досягається на - Му кроці.

"Optimum" у виразі (1.3) означає максимум або мінімум в залежності від умови задачі. Усі обчислення, що дають можливість знайти оптимальне значення ефекту, що досягається за n кроків, | n (So), проводяться за формулою (1.3), яка носить назву основного функціонального рівняння Белмана або рекурентного співвідношення. Дійсно, при обчисленні чергового значення функції використовуються значення функції , Отримане на попередньому кроці, і безпосереднє значення ефекту , Що досягається в результаті вибору рішення при заданому стані системи . Процес обчислення значень функції здійснюється при природному початковому умови , яке означає, що за межами кінцевого стану системи ефект дорівнює нулю. [1, с 243]

1.2 Обчислювальна схема

Оптимальне рішення задачі методом динамічного програмування знаходиться на основі функціонального рівняння (1.3). Щоб визначити його, необхідно:

  1. Записати функціональне рівняння для останнього стану процесу (йому відповідає ):

; (1.4)

  1. Знайти з дискретного набору його значень при деяких фіксованих і з відповідних допустимих областей (так як , То ). У результаті після першого кроку відоме рішення і відповідне значення функції ;

  2. Зменшити значення на одиницю і записати відповідне функціональне рівняння. При воно має вигляд:

; (1.5)

  1. Знайти умовно-оптимальне рішення на основі виразу (1.5);

  2. Перевірити, чому одно значення . Якщо розрахунок умовно-оптимальних рішень закінчений, при цьому знайдено оптимальне рішення задачі для першого стану процесу. Якщо перейти до виконання п. 3;

  3. Обчислити оптимальне рішення задачі для кожного наступного кроку процесу, рухаючись від кінця розрахунків до початку. [1, с 244]

2. Рішення задачі оптимального розподілу коштів на розширення виробництва

2.1 Рішення задачі оптимального розподілу коштів на розширення виробництва ручним способом

Широкий клас складають задачі, в яких мова йде про найбільш доцільне розподіл у часі тих чи інших ресурсів (грошових коштів, робочої сили, сировини і т.п.). Розглянемо приклад завдання такого роду.

Виробничому об'єднанню з чотирьох підприємств виділяється банківський кредит у сумі 60 млн. ден. од. для реконструкції і модернізації виробництва з метою збільшення випуску продукції. Значення додаткового доходу, отримуваного на підприємствах об'єднання залежно від виділеної суми xi, наведені в табл. 2.1. Розподілити виділений кредит між підприємствами так, щоб додатковий дохід об'єднання був максимальним. [1, с 261]

Таблиця 2.1 - Значення додаткового доходу

Виділені кошти xi, млн. грош. од.

Підприємство


Одержуваний дохід, млн. грош. од.


0

20

40

60

0

9

18

24

0

11

19

30

0

16

32

40

0

13

27

44

Рішення. Нехай n = 1. Відповідно до обчислювальної схемою динамічного програмування розглянемо спочатку випадок n = 1, тобто припустимо, що всі наявні кошти виділяються на реконструкцію і модернізацію одного підприємства. Позначимо через | 1 (x) максимально можливий додатковий дохід на цьому підприємстві, відповідний виділеної сумі x. Кожному значенню x відповідає цілком певне (єдине) значення додаткового доходу, тому можна записати, що:

(2.1)

Відповідно до формули (2.1) в залежності від початкової суми з повчає з урахуванням табл. 2.1 значення | 1 (с), вміщені в табл. 2.2.

Таблиця 2.2 - Значення максимально можливого додаткового доходу в залежності від виділених коштів

0

0

20

9

40

18

60

24

Нехай тепер n = 2, тобто кошти розподіляються між двома підприємствами. Якщо другому підприємству виділена сума x, то додатковий прибуток на ньому складе g 2 (x). Решта іншому підприємству кошти (c - x) залежно від величини x (а значить, і c - x) дозволять збільшити додатковий дохід до максимально можливого значення | 1 (c - x). При цьому умови загальний додатковий дохід на двох підприємствах:

(2.2)

Оптимального значення | 2 (с) додаткового доходу при розподілі суми с між двома підприємствами відповідає таке x, при якому сума (2.2) максимальна.

Це можна висловити записом:

(2.3)

Значення можна обчислити, якщо відомі значення , І т.д.

Функціональне рівняння Беллмана для розглянутої задачі запишеться в наступному вигляді:

(2.4)

Чергова завдання - знайти значення функції (2.3) для всіх допустимих комбінацій с і x. Для спрощення розрахунків значення x будемо приймати кратними 20 тис. грош. од. і для більшої наочності запису оформляти у вигляді таблиць. Кожному кроку буде відповідати своя таблиця. Розглядався кроку відповідає табл. 2.3.

Таблиця 2.3 - Значення функції на другому кроці

з \ x

0

20

40

60

20

0 +9

11 +0



11

20

40

0 +18

11 +9

19 +0


20

20

60

0 +24

11 +18

19 +9

30 +0

30

60

Для кожного значення (20,40,60) початкової суми з розподіляються коштів у табл. 2.2 передбачена окрема рядок, а для кожного можливого значення x (0,20,40,60) розподіляє суми - стовпець. Деякі клітини таблиці залишаться незаповненими, так як відповідають неприпустимим сполученням з і x.

У кожну клітину таблиці будемо вписувати значення суми (2.2). Перший доданок беремо з умов задачі (см.табл.2.1), друге - з табл.2.2.

У двох останніх стовпчиках таблиці проставлені максимальний по рядку додатковий дохід (у стовпці ) І відповідне йому оптимальна сума коштів, виділена другому підприємству (у стовпці ).

Розрахунок значень наведено в табл. 2.4. Тут використана формула, що виходить з (2.4) при n = 3:

Перший доданок в табл. 2.4 взято з табл. 2.1, друге з табл. 2.3.

Таблиця 2.4 - Значення функції на третьому кроці

з \ x

0

20

40

60

20

0 +11

16 +0



16

20

40

0 +20

16 +11

32 +0


32

40

60

0 +30

16 + 20

32 + 11

40 +0

43

40

Розрахунок значень наведено в табл. 2.5. Тут використана формула, що виходить з (2.4) при n = 4:

Перший доданок в табл.2.5 взято з табл.2.1, друге з табл. 2.4.

Таблиця 2.5 - Значення функції на четвертому кроці

з \ x

0

20

40

60

20

0 +16

13 +0



16

0

40

0 +32

13 +16

27 +0


32

0

60

0 +43

13 + 32

27 + 16

44 +0

45

20

Складемо зведену таблицю, на основі розрахунків таблиць, починаючи з 2.2.

Таблиця 2.6 - Зведена таблиця

20

9

11

20

16

20

16

0

40

18

20

20

32

40

32

0

60

24

30

60

43

40

45

20

З таблиці. 2.6 видно, що найбільший додатковий дохід, який можуть дати чотири підприємства при розподілі 60 млн. ден. од. (З = 60), становить 45 млн. ден. од. ( ). При цьому четвертому підприємству має бути виділено 20 млн. ден. од. ( ), А іншим трьом - 60-20 = 40 млн. ден. од. З цієї ж таблиці видно, що оптимальний розподіл залишилися 40 млн. ден. од. (З = 40) між трьома підприємствами забезпечить загальний додатковий дохід на них на суму 32 млн. ден. од. ( ) За умови, що третьому підприємству буде виділено 40 млн. ден. од. ( ), А на частку другого і третього коштів не залишиться (40-40 = 0).

Відповідь: максимальний додатковий дохід на чотирьох підприємствах при розподілі між ними 60 млн. ден. од. складає 45 млн. ден. од. і буде отримана, якщо першим та другим підприємству коштів не виділяти, третьому 40 млн. ден. од., а четвертому 20 млн. ден. од.

2.2 Рішення задачі оптимального розподілу коштів на розширення виробництва в середовищі Microsoft Ex з el

Microsoft Excel, є найпотужнішим засобом для роботи з даними. Таблиці і робота з ними є головне завдання програми. Головними достоїнствами програми Excel є:

  • Просте і зручне створення таблиць

  • Спрощений введення даних і заповнення таблиць

  • Уміння програми автоматично вгадувати зміст осередків на підставі аналізу сусідніх і попередніх. Це дає можливість автоматично заповнювати цілі області таблиці, виконавши всього декілька кліків мишкою.

  • Можливість відображення тексту і чисел не тільки в простому текстовому вигляді, але і з використанням квітів, шрифтів, кольорового фону і т.д.

  • Зручні та зрозумілі функції створення діаграм на основі значень елементів таблиці

  • Створення складних форм і інших елементів, що дозволяють автоматизувати і прискорити виконання постійно повторюваних дій користувача

  • Розширені можливості сортування таблиць

  • Виконання арифметичних розрахунків і робота з формулами

  • Автоматична перевірка помилок у формулах, даних і тексті

  • Можливість додавання в таблиці малюнків і графіки

  • Можливість використання в таблицях посилань на сторінки Інтернету

  • Можливість спільної роботи над документами

  • Збереження таблиць у вигляді сторінок Інтернету

Рішення задачі оптимального розподілу коштів на розширення виробництва в середовищі Microsoft Excel, представлено в додатку.

У процесі виконання завдання в середовищі Microsoft Excel були використані наступні функції:

  • МАКС (число1; чісло2; ...) - повертає найбільше значення зі списку аргументів. Логічні і текстові значення ігноруються.

  • ЯКЩО (лог_вираз; значення_якщо_істина; значення_якщо_хибність) - перевіряє, чи виконується умова, і повертає одне значення, якщо воно виконується, і інше значення, якщо немає.

Для захисту даних від зміни іншими користувачами була використана функція редактора захист аркуша, крім осередків для введення вихідних даних.

Результати рішення задачі, отримані в Microsoft Excel ідентичні результатам, отриманим у попередньому підрозділі.

Висновок

У цій роботі ми ознайомилися із застосуванням принципу оптимальності Белмана в завданнях на оптимальний розподіл коштів на розширення виробництва.

У першій частині курсової роботи ми розглянули основні поняття динамічного програмування, теоретичні основи принципу оптимальності Белмана, визначили рекуррентную природу даного принципу, а також розглянули обчислювальну схему Белмана.

Основним принципом, на якому базуються оптимізація багатокрокового процесу, а також особливості обчислювального методу, динамічного програмування, є принцип оптимальності Р. Белмана.

Обчислення в динамічному програмуванні виконуються рекуррентно в тому сенсі, що оптимальне вирішення однієї підзадачі використовується в якості вихідних даних для наступної. Вирішивши останню підзадачі, ми отримаємо оптимальне рішення вихідної задачі. Спосіб виконання рекурентних обчислень залежить від того, як проводиться декомпозиція вихідної задачі. Зокрема, підзадачі зазвичай пов'язані між собою деякими загальними обмеженнями. Якщо здійснюється перехід від однієї підзадачі до іншої, то повинні враховуватися ці обмеження.

У другій частині була вирішена задача оптимального розподілу коштів на розширення виробництва, а також вирішена задача оптимального розподілу коштів на розширення виробництва в середовищі Microsoft Excel. Максимальний додатковий дохід на чотирьох підприємствах при розподілі між ними 60 млн. ден. од. склав 45 млн. ден. од. і був отриманий, за умови що першому і другому підприємству коштів не виділили, третьому 40 млн. ден. од., а четвертому 20 млн. ден. од.

Список використаних джерел

  1. Кузнєцов А.В., Холод Н.І., Костевич Л.С. Керівництво вирішення завдань з математичного програмування. – 2-е изд., перераб. и доп. – Мн.: Выш. Шк., 2001.-448 с.

  2. Таха Х.А. Введение в исследование операций, 7-е издание.: Пер. з англ. – М., 2005.-912 с.

  3. Беллман Р., Дрейфус С. Прикладные задачи динамического программирования. – М.,1965.-458 с.

    Додати в блог або на сайт

    Цей текст може містити помилки.

    Програмування, комп'ютери, інформатика і кібернетика | Курсова
    101.7кб. | скачати


    Схожі роботи:
    Аналіз та розподіл фінансових коштів
    Бізнес-план розширення виробництва продукції на ВАТ Лакокраска
    Бізнес-план розширення виробництва і збільшення продажів медичного препарату полісорб
    Бізнес план розширення виробництва і збільшення продажів медичного препарату полісорб
    Формування і розподіл доходів на фактори виробництва
    Особливості бухгалтерського обліку та розподіл витрат на обслуговування виробництва та управління
    Види електричних травм Розподіл виробництва за ступенем пожежної безпеки
    Оптимальний рівень інфляції
    Оптимальний варіант сенсорної лабораторії
© Усі права захищені
написати до нас