Здравствуйте, Ray D, Вы писали:
RD>Привет, All!
RD>Собственно есть subj. фитнес-функция = суммарное время маршрута = f. Но есть
RD>еще система ограничений — комивояжер должен отдельные точки посетить в
RD>интервале (mk; nk), если приехал "немного" раньше — плохо, но не очень,
RD>позже — очень плохо. Так вот вопрос — какой вид штрафной функции лучше
RD>выбрать для такой ситуации?
RD>ti — время в i-й точке,
RD> если ti<mk, g = 10 * (mk — ti)
RD> если ti>nk, g = 100 * (ti — nk)
RD>Т.о. фф = f + сумма(g)
RD>Что кто думает?
скорее лучше задать функцию квадратичную (левая ветка) в левой стороне от mk, в отрезке (mk; nk) принимает 0, справа от nk кубическая (правая восходящая)
что-то типа этого
\ /
\ /
\ /
\_____/