Я не знаю, как написать оператор оптимизации в clingo4 (решатель ASP).
Я хочу минимизировать общее количество экземпляров определенных литералов в каждом наборе ответов.
Я моделирую пожарного агента в ASP. Агент может выполнять определенные простые действия в разное время, например:
0{call_fire_department(Area, Time, Time+1)}1:- [preconditions].
0{send_security_guard(Guard, Area, Time, Time+1)}1:- [preconditions].
0{activate_fire_suppression(Area, Time, Time+1)}1:- [preconditions].
У агента есть цели, которые требуют сочетания вышеуказанных действий в определенное время. Я хочу свести к минимуму количество экземпляров каждого из вышеперечисленных, но при этом достичь целей агента.
Как написать соответствующий оператор оптимизации? (Я предполагаю, что мне понадобится оператор «свернуть»).
Спасибо.