5£y0,2£10

1£y1,2£4

4£y1,3£8

6£y2,3£8.

Сформулированная задача имеет слишком большую для ручного счета размерность (число ограничений m=16, число переменных n=8, а после приведения задачи к каноническому виду возрастет до n=29). Поэтому для решения задачи рекомендуем воспользоваться программой SIMPLEX, разработанной на кафедре исследования операций и предназначенной для решения задач линейного программирования. Описание программы SIMPLEX и пример ее использования смотрите в приложении 1. ·

До сих пор мы рассматривали оптимизационные модели, в которых ограничивающим фактором являлась продолжительность проекта T0. В тех случаях, когда таким фактором является стоимость выполнения проекта C0, можно сформулировать следующую оптимизационную задачу :

Tкр=tn-t0 ® min

ti, yij

ti - tj +yij£0 для всех (i, j)ÎS,

(8)

S (bij-aijyij) £ C0

(i, j)ÎS

Lij £ yij £ Uij для всех (i, j)ÎS.

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

Утверждение 5. Пусть Сн – затраты на выполнение проекта при yij=Uij. Задача (8) разрешима тогда и только тогда, когда С 0³Cн. ·

Задача (8) эквивалентна задаче линейного программирования (9):

Tкр=tn-t0 ® min

ti, yij

ti +yij £tj для всех (i, j)ÎS,

НЕ нашли? Не то? Что вы ищете?

(9)

S aijyij ³ D0, где D0= S bij - C0,

(i, j)ÎS (i, j)ÎS

Lij £ yij £ Uij для всех (i, j)ÎS.

Задачу (9) как и задачу (4) можно решить симплекс-методом. Для этого можно воспользоваться программой SIMPLEX.

Пример 6.

Для сетевого графика изображенного на рис. 2 найти оптимальные значения продолжительностей работ yij, минимизирующих время выполнения проекта в целом при заданных в таблице 8 отношениях предшествования, верхних и нижних пределах продолжительности каждой работы и D0 =201.

Задача (9) для данного примера при t0=0 имеет вид:

t3® min

y0,1-t1 £0

y0,2-t2 £0

y1,2+t1-t2£0

y1,3+t1-t3£0 (10)

y2,3+t1-t3£0

y0,1+8y0,2+6y1,2+7y1,3+5y2,3³201

2£y0,1£8

5£y0,2£10

1£y1,2£4

4£y1,3£8

6£y2,3£8.

Входной файл для программы SIMPLEX с информацией о данной задаче проведен в приложении 2. В результате работы программы было получено следующее оптимальное решение y0,1=6, y0,2=10, y1,2=4, y1,3=8, y2,3=7, t 1=6, t2=10, Tкр=t 3=17.

Индивидуальные задания

В соответствии с номером индивидуального задания (см. таблицу 9) решить задачу А:

S aijyij® max

(i, j)ÎS ti, yij

ti - tj+yij £ 0 для всех (i, j)ÎS,

- t0+tn £T0,

Lij £ yij £ Uij для всех (i, j)ÎS,

или задачу Б:

Tкр=tn-t0 ® min

ti, yij

ti +yij - tj £0 для всех (i, j)ÎS,

S aijyij ³ D0

(i ,j)ÎS

Lij£yij£Uij для всех (i, j)ÎS.

Необходимые исходные данные взять из таблиц 10-12. Для оптимальных продолжительностей работ yij, найденных в результате решения задачи, определить Ткр, ljр, liп, rijп, rijс, rijн, используя метод критического пути.

Таблица 9.

Номерзада-

ния

Номертаб-

лицы

Номервари-

анта

Зада

-ча

Номерзада-

ния

Номертаб-

лицы

Номервари-

анта

Зада

-ча

1

10

1

А

13

11

1

Б

2

10

2

А

14

11

2

Б

3

10

3

А

15

11

3

Б

4

10

4

А

16

11

4

Б

5

10

1

Б

17

12

1

А

6

10

2

Б

18

12

2

А

7

10

3

Б

19

12

3

А

8

10

4

Б

20

12

4

А

9

11

1

А

21

12

1

Б

10

11

2

А

22

12

2

Б

11

11

3

А

23

12

3

Б

12

11

4

А

24

12

4

Б

Таблица 10.

Ра-

бо-

та

Вариант 1

Вариант 2

Вариант 3

Вариант 4

aij

Lij

Uij

aij

Lij

Uij

aij

Lij

Uij

aij

Lij

Uij

0,1

5

5

13

4

4

14

3

6

15

5

8

10

0,2

3

3

14

2

6

15

8

9

14

1

7

18

1,2

2

5

7

3

8

10

9

2

6

9

3

6

1,3

4

1

12

6

6

15

6

7

19

2

7

13

2,3

8

1

3

5

11

12

7

3

7

6

3

12

2,4

7

6

10

8

5

16

7

11

17

4

5

10

3,5

8

9

12

7

9

17

4

13

20

7

9

16

4,5

9

4

13

9

6

10

5

12

15

5

7

14

T0

33

40

40

41

D0

392

573

530

416

Таблица 11.

Ра-

бо-

та

Вариант 1

Вариант 2

Вариант 3

Вариант 4

aij

Lij

Uij

aij

Lij

Uij

aij

Lij

Uij

aij

Lij

Uij

0,1

18

14

20

7

8

16

4

7

15

5

4

7

0,2

27

15

18

6

3

19

8

9

13

4

2

12

1,3

16

10

23

3

8

20

5

5

13

7

3

8

2,3

8

5

15

2

4

7

9

3

12

6

2

6

2,4

9

12

16

5

5

22

9

7

12

2

4

11

3,4

12

5

12

7

2

4

2

3

6

9

4

8

3,5

18

7

29

9

9

19

7

7

18

1

2

9

4,5

14

10

15

8

4

20

6

8

10

5

6

11

T0

50

51

35

23

D0

2158

666

590

321

Таблица 12.

Ра-

бо-

та

Вариант 1

Вариант 2

Вариант 3

Вариант 4

aij

Lij

Uij

aij

Lij

Uij

aij

Lij

Uij

aij

Lij

Uij

0,1

9

9

18

9

8

19

8

2

15

5

3

11

0,2

8

4

17

5

6

19

6

9

17

3

5

7

1,3

6

3

17

2

6

18

3

6

14

1

4

8

1,4

5

1

11

8

4

16

4

6

17

9

2

4

2,3

3

2

13

3

7

12

2

7

11

6

8

13

2,4

1

1

6

2

3

13

3

5

12

4

4

8

3,5

8

3

12

4

9

11

8

2

9

2

8

11

4,5

6

7

10

7

6

18

5

6

15

5

9

14

T0

35

45

30

23

D0

610

457

467

318

Приложение 1

При формировании файла входных данных для программы SIMPLEX необходимо придерживаться следующих правил:

-  первые две строки должны содержать данные о размерности задачи n и m ,

-  третья строка должна содержать коэффициенты целевой функции и вид оптимизации,

-  следующие m строк должны содержать данные об ограничениях задачи,

-  порядок следования строк нарушать нельзя,

-  числовые данные разделяются одним или несколькими пробелами,

-  символьные данные отделяются от числовых данных ровно одним пробелом.

Рассмотрим использование программы SIMPLEX на примере решения задачи (7). Так как в этой задаче вектор переменных x = (y0,1, y0,2, y1,2, y1,3, y2,3, t1, t2, t3), то входной файл с информацией о решаемой задаче содержит следующие данные:

n= 8

m= 16

1 8 6 7 5 0 0 0 max

1 0 0 0 0 -1 0 0 < 0

0 1 0 0 0 0 -1 0 < 0

0 0 1 0 0 1 -1 0 < 0

0 0 0 1 0 1 0 -1 < 0

0 0 0 0 1 0 1 -1 < 0

0 0 0 0 0 0 0 1 < 15

1 0 0 0 0 0 0 0 < 8

0 1 0 0 0 0 0 0 < 10

0 0 1 0 0 0 0 0 < 4

0 0 0 1 0 0 0 0 < 8

0 0 0 0 1 0 0 0 < 8

1 0 0 0 0 0 0 0 > 2

0 1 0 0 0 0 0 0 > 5

0 0 1 0 0 0 0 0 > 1

0 0 0 1 0 0 0 0 > 4

0 0 0 0 1 0 0 0 > 6

После решения задачи выходной файл программы SIMPLEX будет содержать вектор x=(5, 9, 4, 8, 6, 5, 9, 15). Учитывая структуру вектора x, получим

y0,1=5, y0,2=9, y1,2=4, y1,3=8, y2,3=6 , t1=5, t2=9, t3=15.

Приложение 2

Входной файл для программы SIMPLEX с информацией о задаче (10), в которой вектор переменных x=( y0,1,y0,2,y1,2,y1,3,y2,3 ,t1,t2,t3), содержит следующие данные:

n=8

m=16

0 0 0 0 0 0 0 1 min

1 0 0 0 0 -1 0 0 < 0

0 1 0 0 0 0 -1 0 < 0

0 0 1 0 0 1 -1 0 < 0

0 0 0 1 0 1 0 -1 < 0

0 0 0 0 1 0 1 -1 < 0

1 8 6 7 5 0 0 0 > 201

1 0 0 0 0 0 0 0 < 8

0 1 0 0 0 0 0 0 < 10

0 0 1 0 0 0 0 0 < 4

0 0 0 1 0 0 0 0 < 8

0 0 0 0 1 0 0 0 < 8

1 0 0 0 0 0 0 0 > 2

0 1 0 0 0 0 0 0 > 5

0 0 1 0 0 0 0 0 > 1

0 0 0 1 0 0 0 0 > 4

0 0 0 0 1 0 0 0 > 6

После решения задачи выходной файл программы SIMPLEX будет содержать вектор x=(6,10,4,8,7,6,10,17). Учитывая структуру вектора x, получим y0,1=6, y0,2=10, y1,2=4, y1,3=8, y2,3=7, t 1=6, t2=10, t 3=17.

Литература

1.  Вентцель операций.- М.: Советское радио, 1972.

2.  Основы исследования операций: Т. 1. Пер. с англ.- М.: Мир, 1972.

3.  Алгоритмы оптимизации на сетях и графах.- М.: Мир, 1981.

4.  Гарсиа- Методы анализа сетей: Пер. с англ.-М.:Мир, 1984.

5.  Введение в исследование операций: Кн.2. Пер. с англ.- М.: Мир, 1985.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4