鋸木問題

之前 (連結一連結二) 已經試過約束式編程及 Minizinc 的功能。

現在有一條比較實際的問題,假設有一條一百米長的木,想鋸成五種不同長度的木材,每種木材應該鋸出多少份,才能盡用整條木,將剩餘的木材減到最少?如果用窮舉法,以現今的電腦也要用幾天時間才能完成運算,用 Minizinc 和背後的運算引擎就能很快得到答案。

在此例,鋸成 8 條 3.25 米、28 條 2.19 米、4 條 3.17 米就能盡用整條木材。

capture-minizinc

本文連結