2014 dxdy logo

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

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


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

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

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

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



Начать новую тему Ответить на тему
 
 Условная минимизация с нелинейными ограничениями
Сообщение08.04.2007, 23:27 


08/04/07
12
МГТУ им. Н.Э. Баумана
Нужно минимизировать некую целевую функцию V(a,d) от двух переменных a и d при ограничениях вида:
$\delta_1<\int\limits_{0}^{L}{\int\limits_{0}^{x}{f(x,a,d) dx dx}}<\delta_2$
Интеграл аналитически не берется. (по крайней мере в мапле и маткаде)
d>R
где \delta_1, \delta_2 , L , R -извесные константы.

Пробовал минимизировать: методом штрафных функций (вспомогательные задачи минимизации методом Ньютона; циклическим покоординатным спуском c методом деления попалам), симплексом (глупо делая редукцию с неким коэф-том если симплекс вышел из области).

Но это ни к чему не привело.

Каким образом можно попытаться решить задачу?
___
Заранее спасибо.

Добавлено спустя 24 минуты 34 секунды:

Предполагается, что нужно самому написать программу, например в дельфях.

Хотя, если кто подскажет, как решать в Матлабе или Маткаде, буду только благодарен. Для проверки тоже нужно...

 Профиль  
                  
 
 
Сообщение09.04.2007, 09:36 


08/04/07
12
МГТУ им. Н.Э. Баумана
Если быть более точным, то ограничения:
f(x,a,d)=$\frac {4P(x-L)} {E\pi(ax^3+bx^2+cx+d)^4}$
где b=$\frac {r_k-d-aL^3} {L^2}$
c=0
r_k = const
P = const
E = const
а целевая функция V(a,d)=\int\limits_{0}^{L}{\pi(ax^3+bx^2+cx+d)^2dx}
...

 Профиль  
                  
 
 
Сообщение09.04.2007, 16:15 


02/04/07
29
Есть такая книжка, товарища Д.Химмельблау: "Прикладное нелинейное программирование" (1975 года выпуска). Там описан весьма замечательный метод "скользящего допуска". Метод замечателен тем, что он - 0-го порядка, т.е. весьма неприхотлив к выбору начального приближения (основное условие - сделать диапазон изменения оптимизируемых параметров равномасштабным, посредством нехитрых преобразований). Позволяет использовать ограничения, как в виде равенств, так и в виде неравенств. Много раз использовал сам. Сходится несколько медленнее методов переменной метрики, но существенно стабильнее.

 Профиль  
                  
 
 
Сообщение10.04.2007, 21:21 


08/04/07
12
МГТУ им. Н.Э. Баумана
Спасибо. Скачал электронный вариант книги. Бегло просмотрел метод, и либо совсем мало чего понял, либо этот метод в данном случае не подходит.

Буду пробовать минимизировать методами случайного поиска...

Может быть еще кто сможет подсказать методы решения поставленной задачи?
Целесообразно ли использовать алгоритмы случайного поиска в данном случае?

 Профиль  
                  
 
 
Сообщение11.04.2007, 20:20 
Заслуженный участник
Аватара пользователя


11/04/07
1352
Москва
Минимизацию двумерных итегралов от достаточно гладких функций нужно решать в лоб. Это не 1980 год. Разбей a и d на тысячу отрезков и прогони 1000000 вариантов с распечаткой в файл значения интеграла и целевой функции. Выбери из файла необходимый вариант. Затем выбери более мелкое окно и используй или более умные алгоритмы поиска или аналогичную процедуру до указанной точности. Я имею опыт для семимерного пространства и до 10 целевых функций.

 Профиль  
                  
 
 
Сообщение11.04.2007, 20:47 


08/04/07
12
МГТУ им. Н.Э. Баумана
Ну не знаю... Я думал, что есть более лучшие методы чем "в лоб".
Ладно. 1000000 разбиений a и d.
На моем стареньком ноуте (500 MHz) Двойной интеграл при разбиении 1000x1000 считает ~1-2 секунды...
2*1000000 секунд ~ 23 дня непрерывной работы. )
Вроде ничего не напутал.

А это всего-навсего одна из подзадач в курсовой работе. )

 Профиль  
                  
 
 
Сообщение12.04.2007, 10:28 
Заслуженный участник
Аватара пользователя


11/04/07
1352
Москва
Для курсовой возможно 100х100 разбиений и решишь за приемлемое время. 1000х1000 придаст твоему курсовому элемент духовного подвига. Это любят преподаватели.

 Профиль  
                  
 
 
Сообщение12.04.2007, 12:29 
Заслуженный участник
Аватара пользователя


01/08/06
3131
Уфа
Есть серьёзная библиотека, DONLP2 (на C и Фортране), для решения задачи нелинейного программирования. Там используется метод SQP. Насколько я знаю, эта библиотека используется в Матлабе. Сам пробовал, правда, на задачах попроще --- мне понравилось.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group