Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ISO11_2_ua red v2.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
628.74 Кб
Скачать

11.5.1.3 Наближений метод Фогеля (нмф)

Цей метод є евристичним і зазвичай приводить до кращого початкового розв’язку, ніж два описаних вище. Насправді НМФ часто дає оптимальний або близький до оптимального початковий розв’язок. Алгоритм складається з наступних кроків.

Крок 1. Обчислити штраф для кожного рядка (стовпця), віднімаючи найменший елемент цього рядка (стовпця) з наступного за ним по величині елементу того ж рядка (стовпця).

Крок 2. Вибрати рядок або стовпець з найбільшим штрафом, а якщо таких декілька, вибрати серед них будь-який рядок або будь-який стовпець. У відміченому рядку або стовпці вибрати змінну з найнижчою вартістю і надати їй найбільше можливе значення. Скоректувати обсяг виробництва і попит і викреслити рядок або стовпець, відповідні виконаному обмеженню. Якщо обмеження по рядку або стовпцю виконуються одночасно, то викреслити або рядок, або стовпець, а стовпцю (рядку), що залишився, приписати нульовий попит (обсяг виробництва). Рядок (або стовпець) з нульовим обсягом виробництва (або попиту) не враховуються в подальших обчисленнях (на кроці 3).

Крок 3.

(А) Якщо невикресленим залишається тільки один рядок і тільки один стовпець (одна клітина) – надати відповідній змінній значення попиту (=обсягу виробництва), закінчити обчислення.

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

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

(Г) У інших випадках обчислити нові значення штрафів для невикреслених рядків і стовпців і перейти до кроку 2. (Відзначимо, що рядки і стовпці з нульовими значеннями обсягу виробництва і попиту не повинні використовуватися при обчисленні цих штрафів).

Приклад розв'язку задачі НМФ.

Розглянемо ТЗЛП, для якої знайдемо ДБР НМФ.

Ітерація 0 (Умова)

11

3

6

9

15

3

9

10

12

2

25

7

10

7

1

6

5

5

7

11

3

23

10

4

15

10

15

15

2

4

2

4

Штраф

Ітерація 1

11

3

6

9

15

3

9

10

12

2

25 10

1

15

10

7

1

6

5

6

7

11

3

23

10

4

15

10

15

15

--

2

4

2

-

Штрафи

Ітерація 2

11

3

6

9

15

3

9

10

12

2

25 10

1

15

10

7

1

6

5 --

--

5

7

11

3

23

10

4

15

10

15

10

15

--

2

7

3

--

Штрафи

Ітерація 3

11

3

6

9

15 5

5

10

9

10

12

2

25 10

3

15

10

7

1

6

5 --

--

5

7

11

3

23

10

4

15

10

--

15

10

15

--

2

--

3

--

Штрафи

Ітерація 4

11

3

6

9

15 5 --

--

10

5

9

10

12

2

25 10

3

15

10

7

1

6

5 --

--

5

7

11

3

23

10

4

15

10

--

15

10

5

15

--

2

--

9

--

Штрафи

Ітерація 5

11

3

6

9

15 5 --

-

10

5

9

10

12

2

25 10

-

15

10

7

1

6

5 --

-

5

7

11

3

23

10 5

-

5

15

10

--

15

10

5

--

15

--

2

-

-

-

Штрафи

Ітерація 6

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

11

3

6

9

15 5 --

10

5

9

10

12

2

25 10

5

15

10

7

1

6

5 --

5

7

11

3

23

10 5 --

5

5

15

10

10

--

15

10

5

--

15

--

Ітерація 7

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

11

3

6

9

15 5 --

10

5

9

10

12

2

25 10 5 --

10

15

10

7

1

6

5 --

5

7

11

3

23

10 --

5

5

15

5

--

10

--

15

10

5

--

15

--

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