![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос сложный, но и тут , я знаю люди не глупые. [D5, D6]
Дмитрий_Ч © (2002-04-18 17:46:00)Уже обращался с этим вопросом, кажется кто-то обещал помоч но...
А нужен алгоритм решения оптимизационных задач(что-то в районе симплексоного метода), нужна точность - 0.01.
Помните PLP88, bkb d Exel сумма производных, функция на минимум и т.д. и т.п.
Спасибо.
AFROLOV (2002-04-23 12:40:00) [1]Alx2 © (23.04.02 12:30) - абсолютно прав. Это чистый симплекс метод, его реализаций огромное количество. Почитай теорию. Реализация симплекс метода посильна даже школьнику 9-11 класса. Примерная трудоемкость - максимум 1 день.
Romkin (2002-04-23 12:37:00) [2]То, что написано - типичная задача для симплекс-метода (линейная функция с линейными ограничениями)
Надо
1. Привести к каноническому виду
2. Алгоритмом симплекс-метода (их довольно много) решить
:-))
Постановку можно посмотреть например здесь http://www.dvo.ru/studio/finmath/node43.html
А подробно - просто поискать в сборниках рефератов, их каждый год немерено
Alx2 (2002-04-23 12:30:00) [3]Так это чистый симплекс-метод. В поисковиках наверняка готовые реализации найти можно.
Дмитрий_Ч (2002-04-23 12:14:00) [4]Re // Afrolov: Спасибо за дельный совет, твой ответ попал почти в точку. В принципе как должна работать программа прпедставаляю (с проверкой ограничений всё понятно,как проверить значение функции тоже представляю) Остаётся вопрос, как реализовать "итерации" в программе. Незнаю откуда подойти.
Пример : целевая функция - 2x1+x2-4.5x3 стремится к минимуму,
ограничения x1+0.5x2>10, x1>2 и т.д. как начать...
AFROLOV (2002-04-19 17:29:00) [5]1. Градиентные методы достаточно быстрые и универсальные (хотя не везде могут быть применены в чистом виде). Однако для решения специфических типов задач оптимизации иногда могут существовать методы крайне эффективные и точности.
2. Точность нахождения экстремума как правило определяется правилом останова (прекращения итераций). Совсем просто о методах оптимизации написано в Калиткин Н.Н. "Численные методы". Там практически готовые формулы и алгоритмы- только в синтаксис Паскаля перевести надо.
3. Для учета ограничений можно использовать метод штрафных функций (см. оптимизация с условиями/ограничениями ).
4.Лучше пиши не про сумму производных(чего и по каким переменным???) а сформулируй задачу которую хочешь решать.
СанчоП (2002-04-19 16:15:00) [6]А какая прога пишется?
СанчоП (2002-04-19 16:14:00) [7]А какая прга пишется?
Дмитрий_Ч (2002-04-19 13:35:00) [8]Re Alex2/ Важна конечно скорость, и точность вычислений. Сумма производных - так через неё и надстроечку Solver в Exele решаются подобные задачи.
Re Miha1/ Пришли, посмотрю. Зарание благодарен.
For all: нужно ещё учесть нижнюю и верхнюю границу для некоторых переменных, неотрицательность результатов (как целевой функции так и переменных.
Miha1 (2002-04-19 11:42:00) [9]Есть у меня прога ищущая минимум многомерной функции - типа считает по методу симплекса (метод Нелдера-Мида) и точность там можно задать с которой будет искать. Если то и если надо - пиши, пришлю.
AFROLOV (2002-04-19 10:44:00) [10]А скаким классом функций предполагается работать? Исходя из исследуемого класса функций выбирается и метод.
Alx2 (2002-04-19 07:59:00) [11]Методов - вагон. Что важно? Скорость или простота реализации?
Я так понял, речь идет о линейном программировании. Тогда зачем сумма производных?
Посмотри градиентные методы: метод талой воды (наискорейшего спуска), сопряженных градиентов, etc.
Недетерминированные методы: генетические алгоритмы, Монте-Карло etc
Дмитрий_Ч (2002-04-18 18:26:00) [12]И в алгоритмах задал, и там тишина.
Anatoly Podgoretsky (2002-04-18 18:04:00) [13]Так задал бы его в Алгоритмах