Оптимизация форм упругих тел

Сообщение №4561 от Артём 27 августа 2001 г. 14:12
Тема: Оптимизация форм упругих тел

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


Отклики на это сообщение:

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

Генетические алгоритмы


> Совсем недавно я читал зело интересную работку, где
> описывалось применение генетических алгоритмов в подобной
> задаче. Рекомендую с таковыми ознакомиться.

А что это за работа и что именно там оптимизироварось ? А нету ли каких-либо русскоязычных ресурсов ? А то я в английском мягко говоря не очень силён... Кстати о Фортране. На VC++ я в момент сделаю отличный и удобный интерфейс, а вот в Фортране, методами виндовозского API писать....



> А что это за работа и что именно там оптимизироварось ?

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

> А нету ли каких-либо русскоязычных ресурсов ?

В России мало кто этим занимается.

> А то я в английском мягко говоря не очень силён...

Здря. Всё стоящее публикуют именно на инглише.

> Кстати о Фортране. На VC++ я в момент сделаю отличный и
> удобный интерфейс, а вот в Фортране, методами
> виндовозского API писать....

Попрошу не пороть столь откровенную чушь. Во первых,
интерфейс должен быть напрочь оторван от логики приложения,
чего виндовозные лабатели знать не желают, писан должен
быть на чём-то скриптовом и легкоисправляемом (лучший вариант -
Tcl или Scheme). И уж наиболее нелепый для рисования ГУЙни язык -
это C++. Он и для всего остального препоганейший, но для GUI -
в особенности.


> Не помню точной ссылки :(
> Оптимизировали там форму и материалы колеса, для каких-то
> совершенно экстремальных условий.

Вот это действительно очень жаль :(. Было бы просто очень любопытно прочитать как и что они там наоптимизировали.

> В России мало кто этим занимается.

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


> Здря. Всё стоящее публикуют именно на инглише.

Вполне возможно, ничего тут не поделаешь :)

> Попрошу не пороть столь откровенную чушь. Во первых,
> интерфейс должен быть напрочь оторван от логики приложения,
> чего виндовозные лабатели знать не желают, писан должен
> быть на чём-то скриптовом и легкоисправляемом (лучший вариант -
> Tcl или Scheme). И уж наиболее нелепый для рисования ГУЙни язык -
> это C++. Он и для всего остального препоганейший, но для GUI -
> в особенности.

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


> > Не помню точной ссылки :(
> > Оптимизировали там форму и материалы колеса, для каких-то
> > совершенно экстремальных условий.

> Вот это действительно очень жаль :(.

Если что найду - подкину. Я изредка почитываю публикации
на эту тему, хоть сам и применяю генетику лишь в очень
специфичной области...

> А хотя бы некоторые базовые идеи этой генетической
> оптимизации на русском можно где-либо найти ?

Был цикл популярных статей в Компьютерре. Номера не упомню.
Самое в них ценное было - список ссылок на более серьёзные
публикации - но уже не на русском.

Смысл же в общих чертах предельно прост: надо нам оптимизировать
некую функциональную зависимость в некотором n-мерном пространстве.
Пусть стоимость вычисления этой функции в каждой точке зверская,
n большое, область пространства непомерная, функция сложная -
локальных минимумов офигеть сколько. Тогда традиционные
методы оптимизации не проканают - но есть выход - применить
приблизительный метод генетической минимизации, который
не гарантирует, что мы нашли самый-самый-минимум, но всегда
даёт нам со временем всё более лучшие решения. И, главное,
этот метод не боится угодить в локальный минимум - он из
них очень лихо выскакивать умеет. Метод прост - находим
некоторое представление для координат в этом самом n-мерном
пространстве (особый шик, если все или хотя бы некоторые
измерения дискретны), именуемое "хромосомой". Выбираем
фитнесс-функцию, которая показывает нам хорошесть приближения.
К примеру, значение той самой функции, которую мы минимизируем,
или что-то от неё зависящее - тут уж выбор весьма произволен.
Далее создаём "популяцию" - набор из большого числа хромосом,
для каждой из коих вычисляется фитнесс-функция. Берём некое
их количество с лучшими показателями, и выносим без изменений
в следующую популяцию, ещё некоторое количество производим
слабыми случайными искажениями лучших хромосом (мутациями),
а так же кроссинговером промеж лучшими хромосомами. Остальную
часть новой популяции опять заполняем "свежей кровью" - случайными
хромосомами. Вычисление одного поколения называется "эпохой" - так
уж сложилось. Через некоторое количество (иногда весьма большое)
эпох лучшие значения фитнесс-функции стабильно начинают расти.
Когда остановиться - это уже опять же дело техники...

Если интересуют конкретные примеры - могу порассказывать,
их у меня есть.


> Если уж на то пошло, то каждый программист порет своё

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

> Но меня это в принципе не очень интересует... :)))

Зря. Множество ценного времени экономится при применении
научного подхода к программированию. А вот интуитивщина
ни к чему хорошему не приведёт.


Зайти в www.deja.com
набрать поиск
comp.ai.genetic

и там читать, много-много.

Кроме того
http://saisa.chat.ru/


> Если что найду - подкину. Я изредка почитываю публикации
> на эту тему, хоть сам и применяю генетику лишь в очень
> специфичной области...

Кидай, с интересом прочту. Меня это направление заинтересовала своей.. непонятностью и странностью подхода. А в какой области, если не секрет ?

Ну идею я очень туманно понял, хотя конкретная математическая расчётная реализация пока от меня ускользает.

> Если интересуют конкретные примеры - могу порассказывать,
> их у меня есть.

Если есть конкретные примеры (и желательно попроще и понагляднее) - кидай, обязательно попробую разобрать !


> Зря. Множество ценного времени экономится при применении
> научного подхода к программированию. А вот интуитивщина
> ни к чему хорошему не приведёт.

Не спорю, но я не программист, а лишь вынужден им быть по надобности, численные методы вынуждают. Хотя давнненько, года 4 назад, я развлекался написанием программ для работы с 3d объектами (естественно с использованием только собственных библиотек), но это уже давно кануло в вечность.. :)



> Кидай, с интересом прочту.

Ок, как найду, в этот форум кину, если Модератор не против.

> Меня это направление заинтересовала своей..
> непонятностью и странностью подхода.

Как раз наоборот - это наиболее естественный подход,
у природы подсмотренный. ;)

> А в какой области, если не секрет ?

В тех случаях, когда теория не даёт никаких подсказок,
таким вот образом можно генерить функциональные зависимости
для фита. То есть - чистейшая, махровая феноменология.
Конкретно - классификация свойств частиц, задача распознавания
образов.

> Ну идею я очень туманно понял, хотя конкретная
> математическая расчётная реализация пока от меня
> ускользает.

Советую стянуть софт, ссылки на который были по
указанному ранее адресу, там есть вполне понятные, доступные
примеры (e.g. генетическое решение "задачи коммивояжера" -
там очень хитро строится хромосома, поучительно весьма).

> Если есть конкретные примеры (и желательно попроще и
> понагляднее) - кидай, обязательно попробую разобрать !

Ok. Подготовлю что-нить попроще да поэффектнее.


> Не спорю, но я не программист, а лишь вынужден им
> быть по надобности, численные методы вынуждают.

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


Более по теме.

И модератор не против.



> В тех случаях, когда теория не даёт никаких подсказок,
> таким вот образом можно генерить функциональные зависимости
> для фита. То есть - чистейшая, махровая феноменология.
> Конкретно - классификация свойств частиц, задача распознавания
> образов.
А можно ли таким подходом простую задачу математического программирования решить ? К примеру
f(x)->min
g(x)<0

> Ok. Подготовлю что-нить попроще да поэффектнее.
Давай

> Вот как раз в таких случаях особо требуется формальный подход.
> Дабы не тратить своё драгоценное время на лишнее, неинтересное
> программирование.

Да понимаешь ли, мне сейчас вообще крайне неохотва проги писать, так жаль что аналитически ничего полезного решить нельзя.


Физика в анимациях - Купить диск - Тесты по физике - Графики on-line

Реклама:
Rambler's Top100