Чтение онлайн

на главную - закладки

Жанры

Maple 9.5/10 в математике, физике и образовании

Дьяконов Владимир Павлович

Шрифт:

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

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

Пусть надо найти минимум функции f:=х1^2+(х2–1)^2 при следующих ограничениях: 2x1+х2>=7, x1+2*х2>=5, x1>=0 и х2>=0. Составим на основе этого функцию Лагранжа:

> F:=x1^2+(х2-1)^2+y1*(7-2*х1-х2)+y2*(5-х1-2*х2);

F:= x1² + (х2-1)² +
у1(7-2х1-х2) + у2(5-х1-2х2)

и найдем ее частные производные:

> F1:=diff(F,x1);

F1:=2x1-2y1-y2

> F2:=diff(F,x2);

F2:=2x2 -2-y1-2y2

> F3:=dxff(F,y1);

F3:=7-2x1-x2

> F4:=diff(F,y2);

F4:=5-x1-2x2

Соберем воедино все равенства и неравенства этой задачи:

> eq:={Fl=u1,F2=u2,x1*F1,x2*F2,F3+v1,F4+v2,y1*F3,y2*F4,

x1>=0,x2>=0,y1>=0,y2>=0,u1>=0,u2>=0,v1>=0,v2>=0};

eq := {2x1-2y1-y2=u1, 2x2-2-y1-2y2=u2, 7-2x1-x2+v1, 5-x1-2x2+v2, y1(7-2x1-x2), y2(5-x1-2x2), x1(2x1-2y1-y2), x2(2x2-2-y1-2y2), 0≤x1, 0≤x2, 0≤y1, 0≤y2,0≤u1,0≤v1, 0≤v2, 0≤u2}

Первые шесть равенств соответствуют теореме Куна-Такера о том, что в точке минимума существуют целые неотрицательные числа u1, u2, v1 и v2 для которых выполняются эти шесть равенств (обратите внимание на то, что запись только левой части равенства означает, что она приравнивается к 0). Теперь с помощью функции solve можно найти решение данной задачи:

> solve(eq,{x1,х2,y1,y2,u1,u2,v1,v2});

Таким образом, на указанном множестве функция достигает минимума в точке (12/5, 11/5).

5.1.8. Анализ функций на непрерывность

Для исследования функций на непрерывность (отсутствие разрывов) Maple имеет функцию iscont, записываемую в ряде форм:

iscont(expr, х = а..b)

iscont(expr, х = а..b, 'closed')

iscont(expr, х = а..b, 'open')

Она позволяет исследовать выражение expr, заданное в виде зависимости от переменной х, на непрерывность. Если выражение непрерывно, возвращается логическое значение true, иначе — false. Возможен также результат типа FAIL. Параметр 'closed' показывает, что конечные точки должны также проверяться, а указанный по умолчанию параметр 'open' — что они не должны проверяться.

Работу функции iscont иллюстрируют следующие примеры (файл fanal):

> iscont(1/х^2,х=-1..1);

false

> iscont(1/х^2,х=-1..1,'closed');

false

> iscont(1/x,х=0..1);

true

> iscont(1/x,x=0..1,'closed');

false

> iscont(1/(x+a),x=-1..1);

FAIL

Рекомендуется внимательно присмотреться к результатам этих примеров и опробовать свои собственные примеры.

5.1.9. Определение точек нарушения непрерывности

Функции, не имеющие непрерывности, доставляют много хлопот при их анализе. Поэтому важным представляется анализ функций на непрерывность. Начиная с Maple 7, функция discont(f,x) позволяет определить точки, в которых нарушается непрерывность функции f(x). Она вычисляет все точки в пределах изменения х от –∞ до +∞. Результаты вычислений могут содержать особые экстрапеременные с именами вида _Zn~ и _NNn~. В частности, они позволяют оценить периодические нарушения непрерывности функций. Примеры применения функции discont приведены ниже (файл fanal):

> discont(1/(х-2),х);

{2}

> discont(1/((х-1)*(х-2)*(х-3)),х);

{1, 2, 3}

> discont(GAMMA(х/2),х);

{-2_NN1~}

Весьма рекомендуется наряду с применением данной функции просмотреть график анализируемой функции.

Еще раз полезно обратить внимание на то, что в ряде примеров в выводе используются специальные переменные вида _NameN~, где Name — имя переменной и N — ее текущий номер. После выполнения команды restart отсчет N начинается с 1. Если вывод с такими переменными уже применялся, то их текущие номера могут казаться произвольными. Специальные переменные часто используются для упрощения выводимых выражений.

5.1.10. Нахождение сингулярных точек функции

Многие операции, такие как интегрирование и дифференцирование, чувствительны к особенностям функций, в частности, к их разрывам и особым точкам. Напомним, что разрыв характеризуется двумя значениями y(x) в точке разрыва на оси абсцисс xр. Возможны разрывы с устремлением функции к бесконечности с той или иной стороны от точки хр. Функции могут иметь один разрыв или конечное число разрывов.

Функция singular(expr, vars) позволяет найти особые (сингулярные) точки выражения expr, в которых она испытывает разрывы. Дополнительно в числе параметров может указываться необязательный список переменных. Примеры применения этой функции приведены ниже (файл fanal):

> singular(ln(х)/(x^2-a));

{а = а, х = 0}, {а = x², x = x}

> singular(tan(х));

{x = _Z22~ π + ½π}

> singular(1/sin(х));

{x=π_Z21~}

> singular(Psi(х*y),{х,y});

> singular(x+y+1/x,{х,у});

{у=у, x=0}, {у=у, x=-∞}, {y=∞, x=x}, {y=–∞, x=x}, {x=∞,y=y}
Поделиться:
Популярные книги

Темный Патриарх Светлого Рода 2

Лисицин Евгений
2. Темный Патриарх Светлого Рода
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Темный Патриарх Светлого Рода 2

Ваше Сиятельство 7

Моури Эрли
7. Ваше Сиятельство
Фантастика:
боевая фантастика
аниме
5.00
рейтинг книги
Ваше Сиятельство 7

Кукловод

Злобин Михаил
2. О чем молчат могилы
Фантастика:
боевая фантастика
8.50
рейтинг книги
Кукловод

Бестужев. Служба Государевой Безопасности. Книга вторая

Измайлов Сергей
2. Граф Бестужев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бестужев. Служба Государевой Безопасности. Книга вторая

Герой

Бубела Олег Николаевич
4. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.26
рейтинг книги
Герой

Подпольная империя

Ромов Дмитрий
4. Цеховик
Фантастика:
попаданцы
альтернативная история
6.60
рейтинг книги
Подпольная империя

Сиротка 4

Первухин Андрей Евгеньевич
4. Сиротка
Фантастика:
фэнтези
попаданцы
6.00
рейтинг книги
Сиротка 4

Я – Орк. Том 4

Лисицин Евгений
4. Я — Орк
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я – Орк. Том 4

Я – Стрела. Трилогия

Суббота Светлана
Я - Стрела
Любовные романы:
любовно-фантастические романы
эро литература
6.82
рейтинг книги
Я – Стрела. Трилогия

Назад в СССР: 1984

Гаусс Максим
1. Спасти ЧАЭС
Фантастика:
попаданцы
альтернативная история
4.80
рейтинг книги
Назад в СССР: 1984

Вираж бытия

Ланцов Михаил Алексеевич
1. Фрунзе
Фантастика:
героическая фантастика
попаданцы
альтернативная история
6.86
рейтинг книги
Вираж бытия

Прометей: каменный век

Рави Ивар
1. Прометей
Фантастика:
альтернативная история
6.82
рейтинг книги
Прометей: каменный век

Убивать, чтобы жить

Бор Жорж
1. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать, чтобы жить

Вечная Война. Книга V

Винокуров Юрий
5. Вечная Война
Фантастика:
юмористическая фантастика
космическая фантастика
7.29
рейтинг книги
Вечная Война. Книга V