Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

08-МУ к лаб_занятиям

.pdf
Скачиваний:
74
Добавлен:
04.06.2015
Размер:
1.74 Mб
Скачать

51

Рисунок 29 –

Графическое решение задачи

Метод Фибоначчи

Последовательность чисел Фибоначчи Fi

задается условиями:

F0 = F1 = 1,

Fi +1 = Fi + Fi −1,

i = 1,2,...

Следовательно, несколько первых членов последовательности будут следующими: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144,…

Алгоритм метода

1.Задается начальный интервал неопределенности [а1, b1], допустимый конечный интервал неопределенности h>0 и точность вычислений ε . Выбирается число n итераций так, чтобы

 

 

 

 

Fn

>

b1 a1

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

и μ1 :

 

 

 

2. Первые два вычисления проводятся в точках λ1

 

 

 

λ = a +

Fn−2

(b a

)

,

μ

1

= a

1

+

Fn −1

(b a

1

)

.

 

 

1

1

 

Fn

1 1

 

 

 

 

 

Fn

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Вычисляются f (λ1 ), f (μ1 )

и определяются границы следующего

отрезка локализации

 

минимума.

Если

f (λ1 ) f (μ1 ),

 

то отрезком

локализации минимума является отрезок [а1,

 

μ1 ], в случае

 

f (λ1 )> f (μ1 ) -

отрезок [ λ1 , b1].

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. На k-й итерации:

λk = ak

+

Fn k −1

 

(bk a k ), μ k = ak +

Fn k

(bk ak ) , k = 1,…,

n-1.

Fn k +1

Fn k +1

 

 

 

 

 

μ k ],

 

Отрезком

локализации минимума является

отрезок [аk,

если

f (λk ) f (μ k ), и в случае

f (λk )> f (μ k ) - отрезок [ λk , bk].

 

 

 

 

На последней n-й

итерации λn = λn −1 и μ n

= λn

+ ε . Если

f (λn )>

f (μ n ), то an = λn и bn

= bn−1 . Если f (λn )< f (μ n ), то

an = an−1

и

bn

= λn .

Оптимальное решение x* является серединой отрезка [аn, bn].

52

Реализация алгоритма в Excel

Рассмотрим минимизацию функции f (x) = x2 − 3x + 5 методом Фибоначчи в Excel. Примем, что начальный интервал равен [0,5; 3,5], длина конечного интервала неопределенности не превосходит 0,05, а ε =0,01.

Тогда

 

b1 a1

=

3,5 − 0,5

= 60

. Ближайшее число Фибоначчи,

большее 60,

 

h

 

 

 

0,05

 

 

 

 

 

 

F10 = 89, следовательно, п = 10.

 

 

 

 

На рисунке 30 приведен расчет отношений

Fn k −1

и

Fn k

при n=10.

 

F

F

 

 

 

 

 

 

 

n k +1

 

n k +1

 

Рисунок 30 – Начальные вычисления метода Фибоначчи

На рисунке 31 приведены результаты итерационных вычислений по методу Фибоначчи. Для расчета интервала неопределенности использованы логические функции.

Так, начиная с ячейки I3 введено =ECJIИ(M2<=N2;J2;K2), начиная с ячейки J3 - =ЕСЛИ (М2<= N2;L2;J2).

Рисунок 31 – Результаты минимизации функции по методу Фибоначчи

53

Для k =10 λ10 =1,499874 и μ10 = λ10 + ε . Тогда конечный интервал неопределенности [а10, b10] = [1,479043, 1,509874], длина которого равна 0,030831. В качестве приближенного значения точки минимума выберем середину этого отрезка 1,494484.

Порядок выполнения работы

1.Найти минимум функции f (x) на отрезке [a;b] ( f (x) и отрезок [a;b] выбрать по таблице 16 в соответствии с заданным вариантом):

а) методом половинного деления; б) методом золотого сечения; в) методом Фибоначчи.

2.Оформить отчет по лабораторной работе, который должен содержать:

название работы;

исходные данные варианта;

результаты аналитического и графического решения задачи.

Задание

Таблица 16 – Варианты заданий

1

2

3

4

5

6

7

8

9

10

11

12

 

 

 

f (x)

[a; b]

x(x − 1)3

[0; 1]

(x − 2)2 e x

[0; 2,5]

 

 

x ln2 x

[0,5; 2]

 

 

 

 

 

 

ex

 

[0;2]

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

1 + x2

[-0,5;1]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 − x2

 

 

 

 

 

 

 

 

 

 

 

x 2

 

 

 

 

[-2;0]

 

 

 

 

 

 

 

 

 

 

2xe 2

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3 − 3x2

[0;2,5]

x2 +

1

 

 

 

[0,5]

x2

 

 

 

 

 

 

 

 

 

 

 

27

 

+ x

[5;7,5]

 

 

3

 

 

x

 

 

 

 

 

 

 

 

x

[1;3]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ln x

 

 

 

 

 

 

 

 

e3

 

 

 

 

 

 

 

 

x 2

[-0,5;1]

 

 

 

 

 

 

 

 

 

 

 

1 + x

[1;3]

 

 

 

 

 

 

ln x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

54

Контрольные вопросы

1.Постановка задачи нелинейного программирования.

2.Чем отличаются задачи нелинейного программирования от задач линейного программирования?

3.Алгоритм метода половинного деления.

4.Что называется золотым сечением отрезка?

5.Алгоритм метода золотого сечения.

6.Какие функции используются для реализации в Excel метода золотого сечения?

7.Алгоритм метода Фибоначчи.

8.Какие функции используются для реализации в Excel метода Фибоначчи?

9.Какова последовательность чисел Фибоначчи?

10.Как получить в Excel графическое решение задачи численным методом?

Лабораторная работа №10 Нелинейное программирование в Excel с помощью блока Solver

Цель работы: Приобретение навыков решения задач нелинейного программирования в Excel.

Задачи нелинейного программирования в Excel можно решать с использованием решающего блока Solver, который вызывается нажатием кнопки Поиск решения. Порядок работы следующий:

1.Вводятся начальные значения искомых переменных. Через адреса ячеек, в которых присвоены начальные значения искомых переменных, вводится целевая функция и ограничения. Целевая функция в начальной точке не должна быть равной нулю. Необходимо вызвать диалоговое окно

Поиск решения. В нем в поле Установить целевую ячейку вводится адрес ячейки, где записана целевая функция и устанавливается флажок по цели решения на максимум или минимум.

В поле области Изменяя ячейки вводятся адреса ячеек, где установлены начальные значения переменных, в поле области Ограничения ввести ограничения модели.

2.Нажатие кнопки Параметры открывает диалоговое окно

Параметры поиска решения. В этом окне надо снять флажок Линейная модель, если он установлен (рисунок 32).

3.Выбирается метод решения. В Excel существует два метода: метод

Ньютона и метод сопряженных градиентов. Под параметром Разности

понимается метод численного дифференцирования, аппроксимация с помощью центральных разностей предпочтительнее. Под параметром Оценка понимается характер шага метода.

55

Рисунок 32 – Диалоговое окно Параметры поиска решения

Пример. Минимизировать функцию

f (x1 , x2 ) = (x1 x2 )4 + (x1 − 2x2 )2

при ограничениях x1 ³ 0, x2 ³ 0 .

Введем в Excel в ячейки A3 и B3 начальные значения переменных, в ячейку C3 целевую функцию (рисунок 33).

Рисунок 33 – Ввод начальных значений и формул

Вид диалогового окна Поиск решения для данного примера показан на рисунке 34.

Рисунок 34 – Диалоговое окно Поиск решения

56

После нажатия кнопок ОК и Выполнить получим результат минимизации функции, приведенный на рисунке 35.

Рисунок 35 – Результат минимизации функции

Порядок выполнения работы

1.Найти минимум функции f (x1 , x2 ) при ограничениях x1 ³ 0, x2 ³ 0 с помощью решающего блока Solver.

2.Оформить отчет по лабораторной работе, который должен содержать:

название работы;

исходные данные варианта;

результаты решения задачи.

 

 

Задание

 

 

 

Таблица 17 – Варианты заданий

 

 

 

 

 

 

 

 

 

 

f (x1 , x2 )

 

 

 

 

 

1

f (x) = (4x1 − 5x2 )4 + (x1 x2 )2

2

f (x) = (2x1 x2 )4 + (3x1 − 2x2 )2

3

f (x) = (x1 − 2x2 )4 + (4x1 − 2x2 )2

4

f (x) = (x − 3x

2

)4 + (x x

2

)2

1

 

 

1

 

 

5

f (x) = (3x x

2

)

4 + (4x − 2x

2

)2

1

 

 

1

 

 

6

f (x) = (6x1 x2 )4 + (x1 x2 )2

7

f (x ) = (5 x1 − 2 x 2 )4 + (4 x1 − 2 x 2 )2

8

f (x) = (x1 − 6x2 )4 + (4x1 x2 )2

9

f (x) = (6x1 − 5x2 )4 + (x1 − 3x2 )2

10

f (x) = (10x1 − 2x2 )4 + (6x1 − 2x2 )2

11

f (x) = (x1 − 8x2 )4 + (2x1 − 2x2 )2

12

f (x) = (2x1 − 2x2 )4 + (8x1 − 2x2 )2

Контрольные вопросы

1.Постановка задачи нелинейного программирования.

2.Какими методами решаются задачи нелинейного программировании с помощью блока Solver?

57

3.Какие параметры решения задачи нелинейного программирования нужно указать в окне Параметры поиска решения?

Лабораторная работа №11 Графическое решение задач динамического программирования

Цель работы: Приобретение навыков графического решения задач динамического программирования.

Рассмотрим задачу нахождения рациональных затрат при строительстве трубопроводов и транспортных артерий.

Постановка задачи. Требуется проложить путь (трубопровод, шоссе) между двумя пунктами а и В таким образом, чтобы суммарные затраты на его сооружение были минимальные.

Решение. Разделим расстояние между пунктами А и В на шаги (отрезки). На каждом шаге можем двигаться либо строго на восток ( по оси Х), либо строго на север (по оси Y). Тогда путь от А до В представляет ступенчатую ломаную линию, отрезки которой параллельны одной из координатных осей. Затраты на сооружение каждого из отрезков известны в млн. руб. (рисунок 36).

Рисунок 36 – Затраты на сооружение участков пути

Разделим расстояние от А до В в восточном направлении на 4 части, в северном на 3 части. Путь можно рассматривать как управляемую систему, перемещающуюся под влиянием управления из начального состояния А в конечное В. Состояние этой системы перед началом каждого шага будет характеризоваться двумя целочисленными координатами x и y. Для каждого состояния системы (узловой точки) найдем условное оптимальное управление. Оно выбирается так, чтобы стоимость всех оставшихся до конца процесса шагов была минимальна (условный оптимальный выигрыш). Процедуру условной оптимизации проводим в обратном направлении, т.е. от точки В к точке А.

58

Найдем условную оптимизацию последнего шага (рисунок 37). В точку В можно попасть из В1 или В2. В узлах запишем стоимость пути. Стрелкой покажем минимальный путь.

Рисунок 37 – Условная оптимизация последнего шага

Рассмотрим предпоследний шаг (рисунок 38).

Рисунок 38 – Условная оптимизация предпоследнего шага

Для точки В3 условное оптимальное управление движение по оси Х, а для точки В5 по оси Y. Условное оптимальное управление для точки В4

выбираем на основании того, что min(13+10,14+14)=min(23,28)=23 (условный оптимальный выигрыш), т.е. движение по оси Y.

Условную оптимизацию проводим для всех остальных узловых точек (рисунок 39).

Рисунок 39 – Условная оптимизация всех шагов

Двигаясь в направлении от точки А к точке В по указанным стрелкам, найдем безусловное оптимальное управление:

X * = (c,c,â ,ñ,â ,â ,â ),

где с север, в восток.

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

Таким образом, прокладывать путь целесообразно по схеме: с, с, в, с, в, в, в, при этом затраты будут минимальные и составят 71 млн. руб.

Порядок выполнения работы

1.Выполнить условную, безусловную оптимизацию и найти решение задачи.

59

2.Оформить отчет по лабораторной работе, который должен содержать:

название работы;

исходные данные варианта;

решение задачи и результаты.

Задание

Требуется проложить путь между двумя пунктами А и В таким образом, чтобы суммарные затраты на его сооружение были минимальные. Исходные данные приведены на рисунке 40 и в таблице 18.

В

 

 

а11

 

 

 

 

а12

 

 

 

 

а13

 

 

 

b11

 

 

 

b12

 

 

 

 

 

b13

 

 

 

b14

 

 

 

а21

 

 

 

 

а22

 

 

 

 

а23

 

 

 

b21

 

 

 

b22

 

 

 

 

 

b23

 

 

 

b24

 

 

 

а31

 

 

 

 

а32

 

 

 

 

а33

 

 

 

b31

 

 

 

b32

 

 

 

 

 

b33

 

 

 

b34

 

 

 

а41

 

 

 

 

а42

 

 

 

 

а43

 

 

А

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 40 –

Обозначения исходных данных задачи

 

 

Таблица 18 –

Исходные данные

 

 

 

 

 

 

 

 

 

 

 

 

Обозна-

 

 

 

 

Числовые значения по вариантам

 

 

 

 

 

чения

 

1

2

 

3

4

 

5

6

 

7

8

 

9

10

1

 

2

3

 

4

5

 

6

7

 

8

9

 

10

11

 

а11

 

22

5

 

13

24

 

33

17

 

20

28

 

29

35

 

а12

 

21

4

 

14

25

 

32

18

 

19

27

 

30

34

 

а13

 

20

3

 

15

23

 

31

16

 

18

26

 

28

13

 

а21

 

22

4

 

14

25

 

32

18

 

19

25

 

28

35

 

а22

 

19

5

 

15

23

 

33

17

 

18

25

 

29

36

 

а23

 

22

3

 

13

24

 

31

16

 

20

26

 

30

34

 

а31

 

21

3

 

15

23

 

33

17

 

20

26

 

29

34

 

а32

 

20

4

 

13

24

 

31

16

 

19

27

 

30

35

 

а33

 

22

5

 

14

25

 

32

18

 

18

25

 

28

36

 

а41

 

20

3

 

13

24

 

31

16

 

18

27

 

30

36

 

а42

 

22

4

 

14

25

 

32

18

 

20

26

 

28

34

 

а43

 

21

5

 

15

23

 

33

17

 

19

28

 

29

35

 

b11

 

21

3

 

15

23

 

33

17

 

18

26

 

30

36

 

b12

 

20

4

 

13

24

 

31

16

 

20

27

 

29

34

 

b13

 

19

5

 

14

25

 

32

18

 

19

28

 

29

35

 

b14

 

21

4

 

13

24

 

33

17

 

20

27

 

28

35

 

b21

 

20

5

 

13

24

 

31

16

 

19

27

 

28

35

 

b22

 

22

3

 

14

25

 

32

18

 

18

25

 

28

36

 

b23

 

21

4

 

15

23

 

33

17

 

20

26

 

30

34

 

b24

 

22

4

 

15

23

 

31

16

 

19

28

 

29

34

60

1

2

3

4

5

6

7

8

9

10

11

b31

22

4

14

25

32

18

20

25

29

34

b32

21

5

15

23

33

17

19

28

30

35

b33

23

3

13

24

31

16

18

27

28

36

b34

20

4

14

25

32

18

18

26

30

36

Контрольные вопросы

1.Особенность задач динамического программирования.

2.Какая система называется управляемой?

3.Принцип Беллмана.

4.Что называется условным оптимальным управлением, условным оптимальным выигрышем?

5.Алгоритм решения задач динамического программирования.

Лабораторная работа №12 Построение и анализ сетевого графика

Цель работы: Приобретение навыков построения и анализа сетевых моделей.

Сетевое планирование и управление - это комплекс графических и расчетных методов, организационных мероприятий, обеспечивающих моделирование, анализ и динамическую перестройку плана выполнения сложных проектов и разработок, например, таких как: строительство и реконструкция каких-либо объектов; выполнение научно-исследовательских и конструкторских работ; подготовка производства к выпуску продукции.

Характерной особенностью таких проектов является то, что они состоят из ряда отдельных, элементарных работ. Они обуславливают друг друга так, что выполнение некоторых работ не может быть начато раньше, чем завершены некоторые другие. Например, укладка фундамента не может быть начата раньше, чем будут доставлены необходимые материалы; эти материалы не могут быть доставлены раньше, чем будут построены подъездные пути; любой этап строительства не может быть начат без составления соответствующей технической документации и т.д.

Сетевое планирование и управление включает три основных этапа:

1.Структурное планирование;

2.Календарное планирование;

3.Оперативное управление.

Структурное планирование начинается с разбиения проекта на четко определенные операции, для которых определяется продолжительность. Затем строится сетевой график (сетевая модель), который представляет взаимосвязи работ проекта. Это позволяет детально анализировать все работы и вносить улучшения в структуру проекта еще до начала его реализации.

Календарное планирование предусматривает построение календарного графика, определяющего моменты начала и окончания каждой работы и