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

4.Задачи распределения ресурсов. Классификация обзор методов решения

Постановка задачи.

Имеется n предприятий входящих в объединение, холдинг(подразделение фирмы, цеха, торговые точки).

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

Классификация задач:

  1. по методу решения:

    1. эвристический (отталкиваясь от прошлого года или с помощью метода экспертных ошибок);

    2. оптимизационные методы(с четко заданным периодом);

  2. виды ресурсов:

    1. однородные;

    2. разнородные;

  3. структура системы:

    1. одноуровневая;

    2. многоуровневая;

  4. период времени:

    1. заданный(фиксированный) или с заданными промежутками времени;

    2. непрерывный;

  5. структура ресурсов:

    1. непрерывная;

    2. дискретная.

В качестве примера рассмотрим задачу с одинаковым видом ресурсов (однородную) в заданный промежуток времени с заданным критерием оптимизации.

- доход i-ого предприятия при вложение в него x ресурсов.

Математическая модель и целевая функция:

xi – разрешающая переменная – конкретное количество ресурсов, выделенное i-ому предприятию.

Ограничения:

где определяет верхнюю границу ресурсов каждого предприятия (связано либо с мощностью предприятия, либо с другими характеристиками, например, площади).

В некоторых случаях может быть задана нижняя граница: .

В данной постановке задача является задачей нелинейного программирования, т. к. функция gi практически всегда нелинейные и имеет следующий вид:

При этом характерно возрастание: чем больше вклад ресурсов, тем больше доход и g(0)=0 (если 0 вложил, то 0 и получил).

Если бы функции g были бы линейными, то задача была бы задачей линейного программирования.

Линейную зависимость можно использовать на небольшом интервале изменения xi , но при этом должно быть задано нижнее ограничение bi, иначе будет много нулевых решений.

Кроме того, часто функция дохода задана таблично.

В этом случае линейная модель впрямую использована быть не может.

Если модель не линейна, а функции дохода известны и заданы не таблично, то возможно использование двух методов:

  • метод множителей Лагранжа

  • метод динамического программирования.

Решение методом динамического программирования.

  1. Описание состояния системы.

Шагом назовем выделение средств i-ому предприятию. Состояние системы определим переменной k – количество ресурсов перераспределяемых в данный момент.

Управление Ui определим переменной xi – количество ресурсов, выделяемых i – ому предприятию.

  1. Функция дохода:

  1. Функция преобразования состояния системы:

  1. Основное функциональное уравнение:

    1. i=n

Так как, заведомо известно, что функция является возрастающей, то решением является максимально возможное значение xn, удовлетворяющее ограничениям:

    1. i=n-1

В общем случае, если g не линейным, решить это уравнение не возможно. Если задан конкретный вид функций, то оно решается либо аналитически, либо методом перебора.

    1. i=n-2 и т. д.

  1. Нахождение безусловно-оптимального решения:

Пример:

Рассмотрим дискретную задачу распределения ресурсов.

  1. k0 = 200 тыс. руб.

  2. n=4

  3. информация о функциях дохода и шаг распределения средств равен 40 000 и 0, 40, 80, 120, 160, 200 соответственно.

  4. aj – отсутствует или известно, что все

Таблица 1.

Xi g(x)

g1(x)

g2(x)

g3(x)

g4(x)

40

8

6

3

4

80

10

9

4

6

120

11

11

7

8

160

12

13

11

13

200

18

15

18

16

Предполагаем, что при 0-ом вложение средств, функция дохода равна 0.

В такой постановке задача может быть решена:

1) методом перебора

2) используя метод линейного программирования (в качестве разрешающей переменной используются булевые матрицы). В данном случае 6 строк на 4 столбца, состоящие из 0 и 1.

3) метод динамического программирования

Введем функцию

Именно она максимизируется на каждом этапе метода динамического программирования.

Для решения задач будем использовать 2 дополнительные таблицы. Таблица 2 содержит результаты решения задач по этапам. Таблица 3 – вспомогательная, с ее помощью определяется решение по каждому этапу.

Таблица 2.

i

i=4

i=3

i=2

i=1

k

W4(k)

x4(k)

W3(k)

x3(k)

W2(k)

x2(k)

W1(k)

x1(k)

40

4

40

4

0

6

40

8

40

80

6

80

7

40

10

40

14

40

120

8

120

9

40

13

40

18

40

160

13

160

13

0

16

80

21

40

200

16

200

18

200

19

40

24

40

Таблица 3.

i

i=3

i=2

i=1

k

40

0

40

0

4

4

0

4

4

0

6

6

40

0

3

0

3

6

0

6

8

0

8

80

0

80

0

6

6

0

7

7

0

10

10

40

40

3

4

7

6

4

1 0

8

6

1 4

80

0

4

0

4

9

0

9

10

0

10

120

0

120

0

8

8

0

9

9

0

13

13

40

80

3

6

9

6

7

1 3

8

10

1 8

80

40

4

4

8

9

4

13

10

6

16

120

0

7

0

7

11

0

11

11

0

11

160

0

160

0

13

1 3

0

13

13

0

16

16

40

120

3

8

11

6

9

15

8

13

2 1

80

80

4

6

10

9

7

1 6

10

10

20

120

40

7

4

11

11

4

15

11

6

17

160

0

11

0

11

13

0

13

12

0

12

200

0

200

0

16

16

0

18

18

0

19

19

40

160

3

13

16

6

13

1 9

8

16

2 4

80

120

4

8

12

9

9

18

10

13

23

120

80

7

6

13

11

7

18

11

10

21

160

40

11

4

15

13

4

17

12

6

18

200

0

18

0

1 8

15

0

15

18

0

18

Для любого обводится в кружочек вариант, соответствующий максимуму. Если будет два одинаковых максимума, то выбирается любой.

Таблица 2 определяет решения 5 этапа.