Я использую clpr для программирования логики ограничений над действительными числами в Прологе. В частности, я хочу максимизировать нелинейные выражения, см. Код ниже. clpr ограничен линейными ограничениями, поэтому приведенный ниже код не работает (замена * на + работает).
Не могли бы вы порекомендовать для этого библиотеку, если она есть?
Приветствие / JCR
:-use_module(library(clpr)).
main:-
{Y = X1 * X2 - X3},
{X1 >= 0, X1 =< 1},
{X2 >= 0, X2 =< 1},
{X3 >= 0, X3 =< 1},
maximize(Y),
write("Y = "), write(Y), nl,
write("X1 = "), write(X1), nl,
write("X2 = "), write(X2), nl,
write("X3 = "), write(X3).