![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
LOVE133 |
![]()
Сообщение
#1
|
![]() Гарцующая лошадка ![]() ![]() Группа: Пользователи Сообщений: 107 Пол: Женский Реальное имя: Любовь Репутация: ![]() ![]() ![]() |
Задача : Имеется инвестиционный капитал , который нужно распределить среди 10 фирм.Для каждой фирмы задана функция зависимости прибыли от объема вложений.Требуется найти наиболее прибыльный вариант распределения капитала при условии, что заданы минимальный и максимальный объемы вложения для каждого проекта.
Решать собираюсь так - Распределяем рандомом капитал,задаем для каждого предприятия функцию,максимальное и минимальное вложение.Теперь вопросы 1) что брать за хромосому? 2) как определить оценочную функцию в данном случае?Стремиться все должно к максимуму прибыли, но какой функцией это реализовывать? 3) Как определить функицю мутации и коэффициент мутации. В задаче должны варьироваться количество хромосом N ( я так думаю - это количество возможных вариантов из которых делается селекция и мутации) , и этот самый коэффициент мутации. |
![]() ![]() |
LOVE133 |
![]()
Сообщение
#2
|
![]() Гарцующая лошадка ![]() ![]() Группа: Пользователи Сообщений: 107 Пол: Женский Реальное имя: Любовь Репутация: ![]() ![]() ![]() |
Давайте вместе...Делаем так
1) 1 хромосома - одна инвестиция в i-ое предприятие 2) особью будет считаться тот самый вектор , который состоит из 10 хромосом инвестиций в каждое предприятие .Вот тут вопрос сразу, как инициализировать особь ( создать 10 хромосом ) в зависимости от того что нам заданы макс. и мин. вложений? Это уже больше к Паскалю, чем к алгоритму...Так же вопрос о количестве хромосом отпадает, я понимаю их ровно 10 и не больше, ни меньше. Генотип особи - есть решение 3) создаем популяцию - какое-то количество особей.Выживаемость каждой особи будет являться значение той самой оценочной функции (Fitness ), то есть считаем прибыль в каждом случае и ставим это за коэффициент выживаемости. Только как сформировать функцию, елси нам даны только ( да и то в условии не даны, сама придумаю ![]() 4) начинаем цикл эволюции "Он подразделяется на три основные операции: подсчет вероятностей стать родителем для особей популяции (селекция или отбор), порождение новой популяции (скрещивание и мутация), и пересчет коэффициентов выживаемости особей с проверкой условия выхода из цикла (которым является либо удельный коэффициент выживаемости – т.е. найдена особь точно соответствующая решению задачи, либо достижение порогового значения числа итераций цикла эволюции)" ( цитирую книжки) 5) ранжировать популяцию по возможности стать родителем _ то есть у кого выше fitness . того и будем скрещивать , отбираем, скрещиваем - из 2 родителей получается 2 потомка с обменявшимися генокодами? проверяем для всех новых особей fitness и заменяем половину плохих особей на половину лучших получившихся новых 6) Дальше выполняем мутацию , смотрим результат. осоновная проблема - это определить fitness , так как функция оценки не дана ;) |
Lapp |
![]()
Сообщение
#3
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Видимо, с хромосомами я ошибся: я думал, что это примерно то же самое, что и особь. Ладно, пусть у тебя хромосома - это то, что я считал одним геном.
Но почему ты считаешь, что оценочная функция не дана? осоновная проблема - это определить fitness , так как функция оценки не дана ;) Пусть Si - это вложение капитала в i-ю фирму (то есть то, что ты считаешь хромосомой, а я - гЕном. Пусть Fi(S) - это норма прибыли i-й фирмы как функция от вложения. Тогда Si*Fi(Si) - это и есть прибыль с i-й фирмы. Полная прибыль со всех фирм составит i=10 <Сигма> Si*Fi(Si) i=1 Это и есть твой фитнесс, или здоровье, или что там еще хочешь, а короче - полная прибыль. Разве не так?.. Если тебе не даны сами функции Fi - это другой вопрос. Ну, придумай.. Единственное, что могу сказать - они должны иметь максимум в обозримой области, то есть фирму можно пересытить вложениями так, что она не сможет их освоить надлежащим образом. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
![]() ![]() |
![]() |
Текстовая версия | 28.07.2025 19:04 |