我有一組整數約束,我想解決。約束可以由大於,小於或等於某個常數的變量組成。隨機解決一組整數約束條件
實施例:
A >= 20
A <= 30
B <= 10
A + B <= 25
...
將有幾百個這種簡單的約束條件,並且常數大得多的值(幾十萬)在實踐中。
不過,我不只是要一個解決這些制約因素:我想從解空間的一個隨機解決方案。這並不意味着每個解決方案都必須具有相等的概率(我認爲沒有枚舉它們全部都不可能),但是我想要的是,例如對於變量A,解決方案通常不是20或30,而是在兩者之間的數值可能(或甚至更可能)被挑選出來。
什麼技術適合這種問題?我很難知道在哪裏看,因爲大多數算法都着眼於尋找最優或最快的解決方案,而不是隨機的解決方案。
一個(可能是極其低效的)方法是[試錯(HTTPS ://en.wikipedia.org/wiki/Trial_and_error):在空間中生成一個隨機點並測試它是否滿足所有約束條件。重複,直到一個點通過。 –
約束也是線性的嗎?任何術語是兩個或更多變量的乘積嗎? – phs
domian有什麼問題?它可能會對如何解決這個問題提供一些見解。 – corsiKa