Constraint Programming是一種不同於普遍所學的programming language,如C、Java和Python,這是一種declare所有限制條件,即是constraint,之後自動找尋答案符合所有條件的language。而這種language可以很方便地
解決這類NP Complete的
問題,雖然Python不是,但基本上沒有東西是Python做不到的,找尋之下,就有library
pyconstraints同樣可以解決。
import pyconstraints
p = pyconstraints.Problem()
p.add_variable('fruit',range(10))
p.add_variable('fries',range(10))
p.add_variable('salad',range(10))
p.add_variable('wings',range(10))
p.add_variable('sticks',range(10))
p.add_variable('plate',range(10))
p.add_constraint(lambda a, b, c, d, e, f: a*215+b*275+c*335+d*355+e*420+f*580==1505, ['fruit','fries','salad','wings','sticks','plate'])
p.get_solutions()
沒有留言:
發佈留言