job,在車間排程中被稱為工件。乙個工件又由若干道工序組成。
resource, 資源。在車間排程中一般指的是機器,每道工序需要在某個機器上加工。
constraint, 約束。在車間排程中約束主要有以下兩種:同乙個工件包含的每道工序有先後順序。
每個機器不能並行同時處理兩道工序。
objective目標。車間排程問題的乙個常見目標是使所有工件完成的總時間最小。
乙個車間排程問題可以用乙個已知條件**來刻畫,例如下面的已知條件**:
第乙個工件的第一道工序
第乙個工件的第二道工序
第二個工件的第一道工序
第二個工件的第二道工序
機器號1 22
1加工時間32
51以上面的問題為例,我們的目標是為每個工件的每道工序指定乙個開始時間,工人師傅按照這個時間在相應機器上開始操作該道工序。上面這個車間排程問題可以用乙個帶權有向無環圖來表示:
上面已知條件**對應的加權有向無環圖
這個加權有向無環圖就代表上面的**,我們可以看到每個工序作為圖中的乙個節點出現,權重就是這個節點對應的加工時間。此外,我們增加兩個虛擬節點,乙個是開始節點,結束節點。約束條件用箭頭表示,在這裡需要注意的是:同乙個工件下面的工序有先後順序,所以有的節點之間會增加藍色箭頭。在同一臺機器上加工的工序也必須有先有後,所以也要有箭頭, 因此每一對紅綠箭頭必須去掉其中乙個,保留其中乙個,這就會對應了四種可能的可行解的圖。
可行解1的圖
可行解2的圖
可行解3的圖
可行解4的圖
上面的四種方案都可行,每個可行解都有乙個總完成時間,即所有從開始節點到結束節點的路徑中權值之和最大的那條路徑對應的權值之和。我們的目標是從四個可行的解中找到乙個最優解,最優解是總完成時間最短的那個解,例如:可行解1需要11個單位總完成時間,可行解2需要11個單位總完成時間,可行解3需要11個單位總完成時間,可行解4需要7個單位總完成時間。顯然,最優解就是可行解4,在可行解4中工件1的工序1的開始時間是0,工件2的工序1的開始時間是0,工件1的工序2的開始時間是5,工件2的工序2的開始時間是5。總完成時間是7。
編碼我們利用工件號的排列來對可行解進行編碼,例如:1212這個編碼中第乙個1代表第1個工件的第1道工序,第二個1代表第1個工件的第2道工序,第1個2代表第2個工件的第1道工序,第2個2代表第2個工件的第2道工序。在這個編碼中潛藏著:工件1的第1道工序要在工件2的第2道工序之前,工件2的第1道工序要在工件1的第2道工序之前。這個編碼對應的是可行解4。需要說明的是乙個可行解的有向無環圖可能對應多個編碼方式,例如,1212,2121,1221,2112都對應上面的可行解4的有向無環圖。
解碼
車間排程 車間排程問題的特點
多約束性在通常情況下,工件的加工路線是已知的,並且受到嚴格的工藝約束,使得各道工序在加工順序上具有先後約束關係 同時,工件的加工機器集是已知的,工件必須按照工序順序在可以選擇的工具機上進行加工。離散性車間生產系統是典型的離散系統,其排程問題是離散優化問題。工件的開始加工時間 任務的到達 訂單的變更,...
車間排程問題
1 作業車間排程問題 job shop scheduling,jsp 問題概述 m臺機器,加工n個作業,其中作業 i 包含工序數為li,各工序的加工時間已確定,每個作業必須按照工序的先後順序進行加工。排程的任務是安排所有作業的加工排程排序 或者說是確定每台機器上各個作業的加工順序以及開工時間 約束條...
部落格推薦 Part 1
部落格推薦 part 1 博起 了一年多了,寫過一百多篇博文,看過的博文更是不計其數。剛剛看到乙個部落格的文章,實在把我笑到不行。然後就想推薦給大家。繼而就心血來潮,想把自己喜歡的一些部落格陸續的推薦給大家。也許,你也會喜歡呢?說明 仙仙,本名張仙!是湖南的一位autoware兄弟,跟我一起混跡內蒙...