Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Igry.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
473.6 Кб
Скачать

Задача розподілу коштів

Нехай існує n стратегій розвитку підприємства. Кожна стратегія вимагає вкладення коштів xj, при прогнозованому прибутку Fj.

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

Таблиця 3.1Прогнозовані прибутки реалізації проектів

Проект

1

2

3

x1

F1

x2

F2

x3

F3

Варіант

1

0

0

0

0

0

0

2

1

5

2

8

1

3

3

2

6

3

9

-

-

4

-

-

4

12

-

-

Коштів можна вкласти не більше с=5.

Математичну постановку задачі можна записати наступним чином

(3.11)

(3.12)

(3.13)

xj – сума коштів по кожному проекту

Dj – множина варіантів розподілу коштів по j-му проекту.

Для розв'язання задачі використаємо метод динамічного програмування. Штучно введемо багатокроковий процес, вважаючи, що на кожному етапі виділяються кошти одному із підприємств. Стан системи Sj на j-му етапі описуємо загальною сумою коштів, розподілених після цього етапу, а управління – сумою коштів хj, виділених для відповідного підприємства. При прийнятті рішення на j-му кроці отримується виграш

(3.14)

При цьому система переходить в стан Sj

(3.15)

Основне функціональне рівняння динамічного програмування визначатиме умовно-оптимальний виграш наступним чином:

(3.16)

Умовно-оптимальний виграш останнього етапу матиме простіший вигляд:

(3.17)

Наступні обчислення для побудови оптимального розподілу коштів зручно оформити у вигляді таблиць. Обчислення починаємо з останнього етапу, знаходячи на основі відповідних значень х3 а також таблиці (3.1). Для кожного стану S2 розглядаємо всеможливі розподіли коштів на другому етапі та їх відповідні виграші

m=3

S3

х3

S2

W3

5

0

5

0

1

4

3

m=2

S2

х2

S1

W3+F2 =W2

5

0

5

0+0=0

2

3

0+8=8

3

2

0+9=9

4

1 *

0+12=12

4

0

4

3+0=3

2

2 V

3+8=11

3

1 *

3+9=12

4

0

3+12=15

Щоб знайти умовно-оптимальні виграші другого етапу порівнюємо значення W2, які відповідають однаковим станам S1 . Ту стрічку якій відповідає максимальне значення умовно-оптимального прибутку позначаємо міткою “V”, якщо таких стрічок є декілька, то їх позначаємо міткою “*” . Для першого етапу аналізуємо лише такі управління, які приводять до початкового стану S0 = 0.

S1

х1

S0

W2+F1=W1

2

2

0 *

11+6=17 max прибуток

1

1

0 *

12+5=17 max прибуток

0

0

0

15+0=15

Умовно-оптимальні прибутки цього етапу стають оптимальними, оскільки орієнтуються на дійсний початковий стан.

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

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

X

F

X

F

2

6

1

5

2

8

4

12

4

3

0

0

5

17

5

17

X

F

1

5

3

9

1

3

5

17

Метод дає економію в переборі варіантів коли перехід до більшості станів здійснюється за допомогою декількох управлінь. Тобто оптимізація за формулою (3.16) приводить до суттєвого зменшення аналізованих варіантів управлінь, оскільки із багатьох варіантів залишається один або декілька. Це трапляється коли множини варіантів розподілу співпадають для всіх проектів, а їх значення утворені з постійним кроком. Коли в кожний стан веде один шлях, метод зводиться до повного перебору при виконанні обмеження на суму коштів. В таких випадках доцільніше використовувати рекурсивний алгоритм ( алгоритм з поверненням).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]