Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
:- use_module(library(clpfd)).
solve1(Vars, Res) :-
Vars = [X1, X2, X3], Vars ins 0..10,
3*X1 + 5*X2 + 12*X3 #=< 40,
F = 17*X1 + 30*X2 + 75*X3,
once(labeling([max(F)], Vars)),
Res is F.
?- solve1(Vars, Res).
Vars = [2, 2, 2],
Res = 244.
Классика оптимизации: задача рюкзака (knapsack problem)