2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Как найти наименьшее значение ФМП в области с помощью Maple
Сообщение25.03.2012, 10:55 
Здравствуйте!

Возник такой вопрос. У меня есть некоторое условие - условие области. Например круг (в случае плоскости) $c_1^2+c_2^2<2$, или шар $c_1^2+c_2^2+c_3^2<2$ (в случае трехмерного пространства). Вообще говоря, это должно быть некоторое замкнутое выпуклое множество, т.е. такое множество, которое вместе с точками $x,y$ всегда содержит все точки $\theta x +(1-\theta)y,\theta\in [0;1]$. И в этой области нужно найти наименьшее значение функции нескольких переменных. Понятно как это делать на бумаге, однако не получается сделать в Maple 13. Пробовал использовать extrema(expr, constraints, vars, 's'), minimize(expr, opt1, opt2, ..., optn) - не получилось. Вот, как чем-то похожий на то, что мне нужно, пример - задача из Бермана №3279:
найти наименьшее значение функции $z(x,y)=x^2-y^2$ в круге $x^2+y^2\leq4$. Стационарная точка $(0;0)$ находится внутри указанного круга, но не попадает в ответ. Наибольшее и наименьшее значение достигается на границе области: максимум (=4) в точках $y=0,x=\pm 2$, наименьшее (=-4) в точках $x=0,y=\pm 2$. Можно ли эту задачу решить в Maple? Есть ли в Maple встроенные функции для этого?

 
 
 
 Re: Как найти наименьшее значение ФМП в области с помощью Maple
Сообщение25.03.2012, 15:57 
В хелпе Maple 12 и 15 к extrema написано, что ограничения должны иметь вид равенств или выражений, которые интерпретируются СКА как равенства. Поэтому эта функция не подходит.
Для поиска минимума/максимума можно воспользоваться, соответственно, функцией Minimize/Maximize пакета Optimization
Код:
> with(Optimization);
>Minimize(x^2-y^2, {x^2+y^2 <= 4});
    [-4.00000000000035794, [x = -.350360155761753937e-7, y = 2.00000000000008970]]
>Maximize(x^2-y^2, {x^2+y^2 <= 4});
    [4.00000000000035794, [x = 2.00000000000008970, y = -.350360155633444327e-7]]

Стационарную точку $(0,0)$ функция Minimize/Maximize не вернет, поскольку не в ней достигается минимум/максимум.

В 12 версии эти функции работали не очень хорошо. При решении задач приходилось поиск программировать вручную. 13-ую и 14-ую версии не пробовал. По сравнению с 12-ой версией, в 15-ой пакет Optimization переработан. Но, думаю, в реальных задачах все равно придется что-то программировать, а что-то исследовать на бумаге.

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

 
 
 
 Re: Как найти наименьшее значение ФМП в области с помощью Maple
Сообщение25.03.2012, 20:50 
GAA

конечно, я не хотел решать задачи из Бермана с помощью Maple. Просто в качестве примера привел.
А нужно найти минимум функции, скажем,
Код:
2.67133042174250318079719*10^(-24)*c[1]*c[2]-4.00699563261375477119578*10^(-24)*c[1]*c[3]+
8.87844602681129948762410*c[1]^2+33.0633418374451592244956*c[2]^2+
73.3715015218349254526146*c[3]^2+124.822856887603665211931*c[4]^2+
194.586817938088378329173*c[5]^2+279.854195826615936753352*c[6]^2-0.196594451745187968278300e-3*c[4]*c[5]+0.439503556499495502370995e-4*c[4]*c[6]-0.131242884165349280651375e-3*c[5]*c[6]+
8.01399126522750954239156*10^(-24)*c[2]*c[3]+
2.08000000000000000000000*c[1]-1.04000000000000000000000*c[2]+
.693333333333333333333337*c[3]-0.273236633476537675817676e-2*c[4]-0.720618438841097199893720e-3*c[5]-0.182407812218276317050810e-2*c[6]+13.8598991031578769608615

ну в самом примитивном случае при ограничении, например, таком
Код:
c[1]^2+c[2]^2+c[3]^2+c[4]^2+c[5]^2 <= 1

Я попробовал то, что Вы посоветовали, получается
Код:
13.7282597870405160, [c[1] = -.117137615846217722,
c[2] = 0.157273878289908610e-1,
c[3] = -0.472481357851863449e-2,
c[4] = 0.109449768403411028e-4,
c[5] = 0.185166967093809184e-5,
c[6] = 0.325897898149741580e-5]

Наверное это правильно. Буду пытаться еще использовать этот метод! Большое Вам спасибо!

 
 
 [ Сообщений: 3 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group