solve(Amounts) :-
Total = 1505,
Prices = [215, 275, 335, 355, 420, 580],
length(Prices, N),
length(Amounts, N),
Amounts :: 0..Total//min(Prices),
Amounts * Prices #= Total,
labeling(Amounts).
回答
它沒有問題。距離http://eclipseclp.org/examples/xkcd287.ecl.txt的例子,如果你沒有忽略它加載interval constraint solver行
:- lib(ic).
,它會工作在ECLiPSe Prolog的就好了。
(參見http://xkcd.com/287/)--- ...和'lib(ic)'是什麼,整數約束庫? –
'lib(ic)'代表區間限制。它實現了對整數和實數的約束(表示爲浮點間隔)。我會修改我的答案。 – jschimpf
感謝您的澄清! –
是否也SWI-Prolog的工作:
?- use_module(library(clpfd)).
?- [user].
solve(Amounts) :-
Total = 1505,
Prices = [215,275,335,355,420,580],
length(Prices, N),
length(Amounts, N),
min_list(Prices, MinPrice),
MaxAmount is Total//MinPrice,
Amounts ins 0..MaxAmount,
scalar_product(Prices, Amounts, #=, Total),
label(Amounts).
^D
?- solve(X).
X = [1, 0, 0, 2, 0, 1] ;
X = [7, 0, 0, 0, 0, 0].
但我想它不是一個優化搜索問題,
目標函數丟失。
再見
- 1. 解決二叉平方優化問題的最佳解決方案是什麼?
- 2. 算法 - 這個Erastothenes解決方案有什麼問題
- 3. 如何解決這個優化問題?
- 4. 這個填充問題的css解決方案是什麼?
- 5. 什麼是std :: find這個錯誤的優雅解決方案?
- 6. 這個Prolog子句有什麼問題?
- 7. 這種問題的解決方案是什麼?
- 8. 這個解決方案的codejam測驗有什麼錯誤?問題的
- 9. 北大法官ID 1003的這個解決方案有什麼問題?
- 10. 這個提議的Vanity-URL解決方案路由器有什麼問題?
- 11. 驗證NP-hard優化問題解決方案的複雜性?
- 12. 以下解決方案「Dining Philosophers」有什麼問題?
- 13. 我的解決方案有什麼問題?
- 14. 我的DP解決方案0-1 Knapsack有什麼問題?
- 15. 我的解決方案SPOJ ACTIV有什麼問題?
- 16. 我的解決方案有什麼問題 - SPOJ - ALTSEQ?
- 17. Codility挑戰 - 爲什麼這個解決方案有效?
- 18. 爲什麼Prolog/clpq不能解決這個二次方程?
- 19. 該解決方案可以優化嗎?
- 20. 優化蠻力TSP解決方案
- 21. 優化的分頁解決方案
- 22. c#解決方案的構建優化
- 23. 如何優化我的解決方案?
- 24. 優化解決方案三薩姆
- 25. Windows上的模板有什麼問題?有什麼解決方案?
- 26. 什麼是這個問題或解決方案算法的正確名稱?
- 27. FTS比定製解決方案有什麼優勢?
- 28. 這種模式有什麼優雅的解決方案?多級搜索
- 29. 什麼是名稱空間vs classname衝突問題的優雅解決方案?
- 30. 這個方案有錯誤記錄有什麼問題嗎?
這不是SWI-Prolog。大概是[tag:eclipse-prolog] – false
爲什麼你說它有什麼問題? – lurker