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

86-1

.pdf
Скачиваний:
5
Добавлен:
08.01.2021
Размер:
521.05 Кб
Скачать

41

>>[X,Y] = meshgrid ( [-1:1, 1:3] ) ;

>>Z = (X.^2 + Y.^2 – 3).^2 + (X.^2 + Y.^2 – 2*X – 3).^2 + 1 ;

>>plot3 (X,Y,Z)

После построения трехмерного графика выполняем поиск минимума. В m-файле программируем целевую функцию

function f=Fxy(x) f=(x(1).^2+x(2).^2-3).^2+(x(1).^2+x(2).^2+2*x(1)-3).^2+1; end

Решаем поставленную задачу в окне команд

>> [xmin, minf] = fminsearch (@ Fxy, [-1; 1] )

Результаты поиска xmin =

0.0000

1.7320

minf = 1.0000

Как видно, результаты решения задачи точные. Предлагается проверить их аналитически.

7.5.ВОПРОСЫ К ЗАЩИТЕ РАБОТЫ

1.Что такое точка перегиба, как ее определить?

2.В чем состоит свойство унимодальности функции?

3.Как проверить, является ли функция выпуклой или вогнутой?

4.Какие методы используются для безусловного поиска глобального минимума функции одной переменной?

5.Какие методы используются для безусловного поиска локального минимума унимодальной функции?

7.6.ЗАДАНИЕ

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

2.Найти и вывести на печать координаты и минимальное значение функции двух переменных. Поиск начать с точки М0 (х0, у0).

42

Лабораторная работа № 8

Тема: «Условная оптимизация. Линейноепрограммирование»

8.1. ЦЕЛЬ РАБОТЫ

Сформировать у студентов представление о подходе к решению линейных оптимизационных задач; выработать навыки работы в среде программы МАТLAB.

8.2.ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

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

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

титульный лист;

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

решение задачи;

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

8.3. МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ

Под задачами математического программирования обычно понимают задачи поиска минимума линейной или квадратичной функции в многогранном множестве. Эти задачи называются соответственно задачами линейного и квадратичного программирования.

8.3.1. Линейное программирование

Для решения задачи линейного программирования в MATLAB используется функция linprog. Область поиска для нее задается следующими условиями:

A x b – линейные неравенства (A – матрица, b – вектор);

Aeq x = beq – линейные уравнения (Aeq – матрица, beq

вектор);

lb x ub – ограничения на координаты (lb, ub – два вектора). Целевая функция f в linprog задастся вектором коэффициентов f.

х = linprog (f, A, b, Aeq, beq);

x = linprog (f, A, b, Aeq, beq, lb, ub);

x = linprog (f, A, b, Aeq, beq, lb, ub, x0);

43

x = linprog (f, A, b, Aeq, beq, lb, ub, x0, options); [x, fval] = linprog(...);

[x, fval, exitflag] = linprog(...);

[x, fval, exitflag, output] = linprog(...);

[x, fval, exitflag, output, lambda] = linprog(...);

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

В функции linprog по умолчанию используется так называемый прямодвойственный алгоритм, при использовании которого одновременно решается как данная задача, так и двойственная к ней. Впрочем, решение двойственной задачи не выдается. Если для свойства LargeScale установлено значение off, будет использоваться хорошо известный симплекс-метод линейного программирования, для которого нужна стартовая точка х0. Однако если стартовая точка не задана, она выбирается автоматически.

Пример 8.1. Задача максимизации дохода Рассмотрим условное производство столов и стульев. Сведения о затратах

ресурсов на единицу продукции, их наличии и о доходе от производимой продукции отражены в табл. 8.1.

 

 

 

Таблица 8.1.

 

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

 

 

 

 

 

Наименование ресурса

Продукция

Ограничения

 

 

 

по ресурсу

 

Стул

Стол

 

 

 

 

 

 

Древесина (кг/ шт.)

5

25

500

 

 

 

 

Кожа (м2/ шт.)

0.5

-

15

 

 

 

 

Клей (г/ шт.)

100

250

7500

 

 

 

 

Труд. затраты (чел час/ шт.)

10

10

400

 

 

 

 

Доход (р./ шт.)

10

20

 

 

 

 

 

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

44

моделью является задача линейного программирования (ЗЛП) в стандартной форме – найти x1 и x2 такие, что функция f(x) = 10x1 + 20x2 достигает максимума при следующих ограничениях:

5x1 + 25x2 500,

0.5x1 15,

100x1 + 250x2 7500,

10x1 +10x2 400, x1 0, x2 0.

Для обращения к функции linprog подготовим входную информацию:

вектор коэффициентов целевой функции f= [10; 20];

матрицу коэффициентов системы линейных неравенств A =[5 25;

0.50; 100 250; 10 10];

вектор свободных членов системы линейных неравенств b = [500; 15; 7500; 400];

вектор нижних границ для переменных lb= zeros(2,1).

Функция linprog ищет минимум, а в постановке задачи идет речь о максимуме, поэтому необходимо либо сменить знак коэффициентов целевой функции f, либо поставить знак минус перед именем этого вектора:

[x, fval] = linprog (-f, A, b, [ ], [ ], lb).

Получим следующие результаты:

х = [25 15] fval = -550

Таким образом, найден оптимальный план мебельного производства: надо выпустить 25 стульев и 15 столов, при этом получится доход 550 р. План получился целочисленным, однако в общем случае решение может оказаться и вещественным. Если целочисленность решения — обязательное требование, его надо включать в постановку задачи, однако в MATLAB нет специальных функций для решения общей задачи целочисленного линейного программирования.

8.4.ВОПРОСЫ К ЗАЩИТЕ РАБОТЫ

1.Дать пояснение к постановке и математической модель задачи линейного программирования (ЗЛП).

2.Дать определение общей и канонической формы записи ЗЛП.

45

3.Что такое допустимое решение (план)?

4.Что представляет собой графический метод решения ЗЛП?

8.5.ЗАДАНИЕ

1.Для индивидуального задания составить математическую модель задачи. Подготовить данные для решения.

2.Найти и вывести решение задачи. Объяснить полученный результат.

Библиографический список

Основная литература

1. Петровский, В. С. Научные исследования в автоматизации [Текст] : учеб. пособие / В. С. Петровский, С. И. Поляков, Д. А. Глухов ; ВГЛТА. – Воронеж, 2011. – 240 с. – Электронная версия в ЭБС ВГЛТА.

Дополнительная литература

2.Ануфриев, И. Е. MATLAB 7 [Текст] / И. Е. Ануфриев, А. Б. Смирнов, Е. Н. Смирнова. – СПб. : БХВ-Петербург, 2005. – 1104 с.

3.Дьяконов, В. П. MATLAB 6.5 SP1/7 + Simulink 5/6 в математике и моделировании [Текст] / В. П. Дьяконов. – М. : СОЛОН-Пресс, 2005. – 576 с.

46

 

 

 

 

 

 

Варианты заданий

 

Лабораторная работа № 1

 

 

 

 

 

 

 

 

 

№ варианта

 

 

Функция

 

 

 

 

 

 

 

 

 

 

 

 

 

1

y =

 

 

 

ex

 

 

x

 

 

 

e

x +1

 

 

 

 

 

 

 

 

2

y

=

 

 

 

x2

1

 

 

+ x

 

ln(x2 1)

 

 

 

 

 

 

 

3

y =sh x +sin x 1

 

 

 

 

 

 

 

 

 

 

 

 

4

y =

 

 

 

 

1

 

 

 

2

 

x(1ln x)

 

 

 

 

 

 

 

5

y = 2 sin2 2x 3 cos2 2x

 

3

 

 

 

 

 

 

4

 

 

 

6

 

y =

sin2

x

1

 

cos4

x

 

 

 

 

 

 

 

 

 

7

y = e x 3 x2 x 1

 

 

8

y = x3 3 (1x)2 1

 

 

9

y = ex 1+ x + x2 x2

 

 

 

10

y =

x 1cos(0,5x)

 

 

11

y = x2 ln(1 + x2 ) x

 

 

 

12

y = e

sin x 1,5

 

 

 

 

 

 

 

 

 

 

 

 

Приложение

х0

5,5

2,75

3,1

4,21

6,32

4,7

2,33

8,29

4,56

1,23

7,55

3,64

 

 

 

 

 

 

47

 

 

 

Лабораторная работа № 2

 

 

 

 

 

 

Задание

№ варианта

 

 

 

 

 

 

 

 

 

 

 

2

1

 

 

 

 

 

 

1) 44 = 6,63; 19 41 = 0,463.

 

2)2,8546; δ = 0,3%.

1

3)42,884.

 

 

 

 

 

(a + b)c

 

2

 

4)X =

 

 

 

, где a = 4,3(±0,05), b =17,21(±0,02),

 

 

 

m n

 

 

 

c =8,2(±0,05),m =12,417(±0,003), n =8,37(±0,005).

 

1) 30 =5,48; 7 15 = 0,467.

 

 

2)6,4257(±0,0024).

2

3)0,537.

 

 

 

 

 

m3 (a + b)

 

 

4)X =

, где a =13,5(±0,02), b =3,7(±0,02),

 

c d

 

 

 

 

 

 

 

c =34,5(±0,02),m = 4,22(±0,004), d = 23,725(±0,005).

 

1) 10,5 =3,24; 4 17 = 0,235.

 

 

2)0,5748(±0,0034).

3

3)2,043.

 

 

 

 

 

(a + b)m

 

 

 

 

4)X =

 

, где a = 2,754(±0,001), b =11,7(±0,04),

 

 

(c d)2

 

 

 

 

 

 

c =10,536(±0,002),m = 0,56(±0,005), d = 6,32(±0,008).

 

1) 10 =3,16; 15 7 = 2,14.

 

 

2)0,34484; δ = 0,4%.

4

3)0,745.

 

 

 

 

 

(a + b)m

 

 

 

 

4)X =

 

, где a = 23,16(±0,02), b =8,23(±0,005),

 

 

c d

 

 

 

 

 

 

c =145,5(±0,08),m = 0,28(±0,006), d = 28,6(±0,1).

1) 4,8 = 2,19; 67 = 0,857.

2)10,8441; δ = 0,5%.

53) 0,288.

4)X = (am+b)nc , где a = 27,16(±0,006), b = 5,03(±0,01),

c = 3,6(±0,02), m =12,375(±0,004), n =86,2(±0,05).

 

 

 

48

 

 

 

2

1

 

 

 

1) 6,8 = 2,61; 12 11 =1,091.

 

 

2) 0,12356(±0,00036).

6

3)3,4453.

 

 

a +b

 

 

4)X =

, где a =16,342(±0,001), b = 2,5(±0,03),

 

(c d )m

c = 38,17(±0,002), m = 3,6(±0,04), d = 9,14(±0,005).

1)22 = 4,69; 221 = 0,095.

2)24,5643; δ = 0,1%.

7

3) 4,348.

 

 

 

1

 

 

 

4)S =

π D4

d 4 , где D = 36,5(±0,1), d = 26,35(±0,005),

 

 

 

64

 

 

 

π = 3,14.

 

 

1)9,8 = 3,13; 2315 =1,53.

2)8,3445(±0,0022).

83) 0,576.

4)X = m a b , где a = 9,542(±0,001), b = 3,128(±0,002), c +d

c = 0,172(±0,001), m = 2,8(±0,03), d = 5,4(±0,02).

 

1)

83 = 9,11;

6 11 = 0,545.

 

 

2)3,7834(±0,0041).

 

 

9

3) 0,678.

 

 

 

 

 

 

 

3

a b

 

 

 

 

 

4) y =

 

, где a =10,82(±0,03),

b = 2,786(±0,0006),

 

m(n a)

 

 

 

 

 

 

 

m = 0,28(±0,006), n =14,7(±0,06).

 

 

1)

52 = 7,21; 17 19 = 0,895.

 

 

 

 

2) 7,521;δ = 0,12%.

 

 

10

3) 0,0748.

 

 

 

 

 

 

 

(2n 1)2 (x + y)

 

 

 

4)Q =

 

, где n = 2,0435(±0,0001), х = 4,2(±0,05),

 

 

 

x

y

 

 

 

 

 

 

 

 

у = 0,82(±0,01).

 

 

1

11

12

49

2

1) 44 = 6,63; 2129 = 0,723.

2)13,6253(±0,0021).

3) 2,16.

 

(a +b)c

2

4)X =

 

, где a = 5,2(±0,04), b =15,32(±0,01),

 

m n

 

c= 7,5(±0,05), m = 21,823(±0,002), n = 7,56(±0,003).

1)27 = 5,19; 5019 = 2,63.

2)0,85637;δ = 0,21%.

3) 236,58.

4)X =

m3

(a +b)

, где a =18,5(±0,03),

b = 5,6(±0,02),

c d

 

 

 

c = 26,3(±0,01), m = 3,42(±0,003), d =14,782(±0,006).

 

 

Лабораторная работа № 3, 4

 

 

 

 

 

 

 

 

Вариант 3

 

Вариант 1

Вариант 2

 

 

 

 

 

 

 

 

 

x

y

x

y

 

x

y

 

 

 

 

 

 

 

 

 

1,413

1,8886

0,103

1,2618

 

0,15

0,8607

 

 

 

 

 

 

 

 

 

1,420

1,8900

0,106

1,2764

 

0,20

0,8187

 

 

 

 

 

 

 

 

 

1,427

1,8916

0,115

1,2912

 

0,25

0,7788

 

 

 

 

 

 

 

 

 

1,431

1,8917

0,118

1,3061

 

0,31

0,7408

 

 

 

 

 

 

 

 

 

1,435

1,8927

0,121

1,3213

 

0,35

0,7046

 

 

 

 

 

 

 

 

 

1,446

1,8940

0,131

1,3366

 

0,45

0,6703

 

 

 

 

 

 

 

 

 

1,447

1,8947

0,137

1,3521

 

0,50

0,6376

 

 

 

 

 

 

 

 

 

1,455

1,8957

0,141

1,3677

 

0,55

0,6065

 

 

 

 

 

 

 

 

 

1,465

1,8977

0,145

1,3836

 

0,60

0,5769

 

 

 

 

 

 

 

 

 

в точке x=1,4161

в точке x=0,1026

 

в точке x=0,7250

 

 

 

 

 

 

 

 

 

 

 

 

 

50

 

 

 

 

 

 

 

 

Вариант 6

 

Вариант 4

Вариант 5

 

x

 

y

x

 

y

x

 

y

 

0,180

 

5,6154

3,50

 

33,115

0,115

 

8,6572

 

0,185

 

5,4669

3,55

 

34,813

0,120

 

8,2932

 

0,190

 

5,3263

3,60

 

36,598

0,125

 

7,9582

 

0,195

 

5,1930

3,65

 

38,474

0,130

 

7,6489

 

0,200

 

5,0664

3,70

 

40,447

0,135

 

7,3623

 

0,210

 

4,8317

3,80

 

44,701

0,145

 

6,8481

 

0,215

 

4,7226

3,85

 

46,993

0,150

 

6,6165

 

0,220

 

4,6185

3,90

 

49,402

0,155

 

6,3998

 

0,230

 

4,4242

4,00

 

54,598

0,165

 

6,0055

 

в точке

x=0,175

в точке

x=3,475

в точке x=0,1745

 

Вариант 7

 

8

 

9

 

x

 

y

x

 

y

x

 

y

 

1,340

 

4,2556

0,01

 

0,9918

0,15

 

4,481

 

1,345

 

4,3532

0,06

 

0,9519

0,16

 

4,953

 

1,350

 

4,4552

0,11

 

0,9136

0,17

 

5,473

 

1,355

 

4,5618

0,16

 

0,8769

0,18

 

6,049

 

1,367

 

4,7903

0,27

 

0,8077

0,20

 

7,389

 

1,370

 

4,9130

0,31

 

0,7753

0,21

 

8,166

 

1,375

 

5,0419

0,36

 

0,7441

0,22

 

9,025

 

1,380

 

5,1774

0,41

 

0,7141

0,23

 

9,974

 

1,385

 

5,3201

0,46

 

0,6854

0,24

 

11,023

 

в точке x=1,3921

в точке x=0,492

в точке x=0,2444

 

 

 

 

 

 

12

 

 

10

 

11

 

x

 

y

x

 

y

x

 

y

 

0,45

 

20,194

1,345

 

4,3532

0,130

 

7,6489

 

0,46

 

19,613

1,350

 

4,4552

0,135

 

7,3623

 

0,47

 

18,942

1,355

 

4,5618

0,140

 

7,0961

 

0,48

 

18,174

1,360

 

4,6734

0,145

 

6,8481

 

0,50

 

16,312

1,370

 

4,9130

0,155

 

6,3998

 

0,51

 

15,198

1,375

 

5,0419

0,160

 

6,1965

 

0,52

 

13,948

1,380

 

5,1774

0,165

 

6,0055

 

0,54

 

10,993

1,390

 

5,4706

0,175

 

5,6558

 

0,55

 

9,264

1,395

 

5,6296

0,180

 

5,4954

 

в точке

x=0,445

в точке

x=1,374

в точке

x=0,158

 

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