This page is hosted for free by zzz.com.ua, if you are owner of this page, you can remove this message and gain access to many additional features by upgrading your hosting to PRO or VIP for just 32.50 UAH.
Do you want to support owner of this site? Click here and donate to his account some amount, he will be able to use it to pay for any of our services, including removing this ad.

Оптимальний розподіл капіталу

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

Ця сторінка призначена для навчання студентів розв’язанню однієї з задач динамічного програмування − задачі про оптимальний розподіл капіталу. Ви можете розв’язувати задачу безпосередньо на цій сторінці в інтерактивному режимі. Якщо у вас встановлений пакет MATLAB, можете перейти сюди.

Розглянемо постановку задачі. Нехай у нашому роспорядженні є капітал xmax, який треба розподілити між n підприємствами для досягнення максимального прибутку. Для кожного k-го підприємства відома функція прибутку gk(x), яка для заданого вкладення капіталу x обчислює отриманий прибуток. Маємо задачу математичного програмування:

Для деяких видів функцій прибутку gk(x) та з пририпущенням про неперервний розподіл капіталу розв’язок задачі (1) може бути отриманий аналітично, за допомогою методу невизначений множників Лагранжа.

Квадратичні функції прибутку

Нехай, наприклад, функції gk(x) − квадратичні:

Тоді функція Лагранжа буде мати вигляд:

Частинні похідні від неї за усіма аргументами xk та λ будуть такими:

Розв’язавши цю систему, знайдемо невизначений множник Лагранжа λ та значення аргументів xk, що надають максимум цільовій функції (1) при заданих обмеженнях:

Розв’яжемо цю задачу безпосередньо на цій сторінці. Введить нижче в областях введення загальний капітал xmax та коефіцієнти кривих прибутку ak та bk. Числа в рядках при введенні повинні розділятися пробілами, як у зразку нижче (можете поміняти числа). Потім натисніть кнопку "Рахувати".

xmax =
ak =
bk =

Функції прибутку у вигляді кривих насичення

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

В цьому випадку задача розв’язується так само. Функція Лагранжа має вигляд:

а її частинні похідні за усіма аргументами утворюють систему рівнянь:

Розв’язок цієї системи дає результат:

Розв’яжемо цю задачу безпосередньо на цій сторінці. Введить нижче в областях введення загальний капітал xmax та коефіцієнти кривих прибутку ak та bk. Числа в рядках при введенні повинні розділятися пробілами, як у зразку нижче (можете поміняти числа). Потім натисніть кнопку "Рахувати".

xmax =
ak =
bk =

Функції прибутку у вигляді таблиць − динамічне програмування

Аналітичне розв’язання можливе, якщо загальний капітал xmax може розподілятися неперервно, а системи рівнянь типу (4) або (8) розв’язуються легко. Якщо ж капітал разподіляється дискретними порціями та (або) системи рівнянь розв’язуються складно (а вони можуть і взагалі не розв’язуватися аналітично), то застосовують методи динамічного програмування, описані у чисельній літературі. Див., наприклад, [1].

Розв’яжемо задачу оптимального розподілу капіталу безпосередньо на цій сторінці. Введіть нижче в областях введення вхідні дані. В перших двох областях введіть загальний капітал xmax>0 та крок Δ>0, з яким він буде розподілятися між підприєствами (мінімальна порція для вливання капіталу). Тим самим будуть визначені точки, в яких повинні бути задані функції прибутку gk(x): це 0, Δ, 2Δ, 3Δ, ..., xmax. Загальна кількість точок N = xmax/Δ+1. В наступній області введіть значення функцій прибутку gk(x) у цих точках (рядками). Усього у вас буде n рядків (це кількість підприємств), а у кожному рядку повинно бути N нвід’ємних чисел, розділиних пробілами − значення функцій прибутку gk(x) у точках 0, Δ, 2Δ, 3Δ, ..., xmax. Після заповнення даних натисніть кнопку "Рахувати".

xmax =
Δ =
Значення функцій прибутку gk(x) у точках 0, Δ, 2Δ, 3Δ, ..., xmax (рядками):