問題
您是否認爲遺傳算法值得嘗試解決下面的問題,還是我會遇到局部最小問題?特殊調度算法(模式擴展)
我認爲這個問題的一些方面對於發電機/健身功能風格的設置來說很好。 (如果你已經搞砸了一個類似的項目,我很樂意聽到你的消息,而不是做類似的事情)
謝謝你有關如何構建東西和指定這個權利的任何提示。
問題
我正在尋找一個很好的調度算法,用於以下現實世界的問題。
我有這樣15個時隙的序列(的位數可能會發生變化,從0至20):
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
(也有在這種類型的總共10個不同的序列)
每個序列需要擴展到一個陣列,其中每個插槽可以佔據1個位置。
1 1 0 0 1 1 1 0 0 0 1 1 1 0 0
1 1 0 0 1 1 1 0 0 0 1 1 1 0 0
0 0 1 1 0 0 0 1 1 1 0 0 0 1 1
0 0 1 1 0 0 0 1 1 1 0 0 0 1 1
在基質上的約束是:
- [逐行,即,水平]放置者的數目,必須是11或111
- [行方式]的兩個1之間的距離需要至少爲00
- 每列的總和應該與原始數組相匹配。
- 應優化矩陣中的行數。
陣列然後需要分配的4個不同的矩陣之一,其可以具有不同的行數:
A, B, C, D
A,B,C和d是真實世界的部門。在10天的時間內,負載需要合理公平,而不是干擾其他部門的目標。
每個矩陣與10個不同的原序列的擴展相比,所以你有:
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10
B1, B2, B3, B4, B5, B6, B7, B8, B9, B10
C1, C2, C3, C4, C5, C6, C7, C8, C9, C10
D1, D2, D3, D4, D5, D6, D7, D8, D9, D10
在這些特定的地點可以被保留(不知道我是否應該做它只是保留/不保留或基於函數)。 保留的地點可能是會議和其他事件
每行(例如所有的A)的總和應該在2%內大致相同。即總和(A1至A10)應該與(B1至B10)大致相同等等
行數可以改變,所以你必須例如:
A1:5行 A2:5行 A3:1列,其中即單列例如可以是:
0 0 1 1 1 0 0 0 0 0 0 0 0 0 0
等。
子問題*
I'de很HAPP y只解決部分問題。例如能夠輸入:
1 1 2 3 4 2 2 3 4 2 2 3 3 2 3
並獲得序列的適當陣列,1和0的最小化上按照上述第約束的行的數量。
我瞭解描述的優化第一個矩陣行數的問題。恐怕我會因爲A,B,C,D和後續步驟而迷路。你能澄清嗎? – Chowlett 2010-02-08 15:47:08
是的,在此工作:) – tovare 2010-02-08 15:49:52
我加入克里斯要求澄清。第一個矩陣的行優化是整個問題,還是僅僅是A,B,C,D「事物」的初始要求?也許ABCD是解決方案的嘗試性方法?在這兩種情況下,我都沒有得到這個ABCD的東西... – mjv 2010-02-08 15:55:30