私はhttp://www.zweigmedia.com/RealWorld/tutorialsf4/framesLinProGr.htmlの最初の線形計画問題の例を解こうとしています。 XとYはゼロまたは陽性であり、それらの合計は50まで可能であり、2X + Yは60まで可能である。関数X + 3Yは最大化されなければならない。プロローグで線形計画を解く
mysol2(X,Y,Z):-
X in 0..sup, % Error: Syntax error: Operator expected
Y in 0..sup,
X + Y =< 50,
2 * X + Y =< 60,
Z is max(X + 3*Y).
しかし、それは(エラーが上記に示されている)にも負担しません:
私は、次のコードを使用しています。次のコードで
:
mysol2(X,Y,Z):-
X >= 0,
Y >= 0,
X + Y =< 50,
2 * X + Y =< 60,
Z is max(X + 3*Y).
プログラムのロードが、ランニングに:
ERROR: >=/2: Arguments are not sufficiently instantiated
は、どのように私はこれらのエラーを修正することができますか?
SWI-Prologではどれが1つのライブラリですか? – rnso
SWI-Prologには、SICStus CLP(Q)ライブラリの[ポート](http://eu.swi-prolog.org/man/clpqr.html)が同梱されています。しかし、SWIの実装には間違いがあるので、私はそれをお勧めできません。 – mat
解決策「解決策(X、50)、X = 0 + 0.」は失敗するが、「X = 0 + 0、解(X、50)しかし、 '(is)/ 2'、'(> =)/ 2' ...にはこの問題はありません。 – false