2014-04-11 41 views
1

是否minizinc具有任何語法指定值選擇的可變的的分佈。例如。minizinc語法指定爲值選擇隨機分佈

var 0..100: X ; 

我想在範圍指定X取的值的時間0..50 90%,並採取在時間51..100 10%的值。語法

int_search([X], first_fail, **indomain_random**, complete) satisfy; 

指定X可以得到任何值0..100概率相同。

回答

0

MiniZinc沒有任何語法說出這樣的隨機分佈。

一種方式是改變FlatZinc解算器,因此這樣的行爲,當「indomain_random」一詞。雖然這需要您有權訪問FlatZinc解算器的源代碼。

這就是說,到底什麼是你的使用情況爲希望這種分配?

+0

我期待基於一組約束的多種解決方案,並希望使用的解決方案作爲輸入到一個測試框架。而且由於一些投入更有可能,我希望變量的隨機分佈偏向於更可能的情況。 – user3483760

+0

我會在這種情況下做的是通過另一個程序設置X生成模型到一個固定的參數(從這個分佈生成一個值)。 另一種方法是使用命令行選項「-D」運行「minizinc」(或「mzn2fzn」),以將X定義爲模型的參數。示例:'minizinc -D「X = 3」model.mzn'(X現在固定爲值3)。 – hakank