OptSeq |
#=======================================================================
#iwhich=5 #プッシュ型逐次計画Step1: 作業の場所取りは面全体(前後船含む)
iwhich=6 #プッシュ型逐次計画Step2: 待機の場所取りは面全体(前後船含む)
if iwhich in [5,6]: #rcpsp7_5.csv
#=======================================================================
data2={}
for i in data:
data2[i]=data[i].copy()
prob3=Model()
#-----------------------------------------------------------------------
#[5.0a]リソースの定義(場所)
#-----------------------------------------------------------------------
res3PL,S=res3(prob3,R)
res2S=res2(prob3,R,S)
#-----------------------------------------------------------------------
#[5.0b]リソースの定義(作業員)
#-----------------------------------------------------------------------
H={
1:["H[1]", 28*10, 1], #取付
2:["H[2]", 43*10, 1], #溶接
3:["H[3]", 12*10, 1], #塗装
4:["H[4]", 5*10, 1], #鉄艤
5:["H[5]", 7*10, 1], #甲配
6:["H[6]", 5*10, 1], #機配
}
res1W=res1(prob3,H)
#-----------------------------------------------------------------------
#[5.0c]作業の定義G2
#-----------------------------------------------------------------------
d1=26; d2=50;
# w1=[]; w2=[]; w3=[]; w4=[]; w5=[];
# for i in data:
# start=data2[i][3]
# stop=data2[i][3]+data2[i][2]
:
# jdata2a=w2; #仕掛かり中のアクティビティ
# jdata2b=w3; #仕掛かっていないアクティビティ
# jdata=w2+w3; #リスケすべきアクティビティ
# wsum=len(w1)+len(w2)+len(w3)+len(w4)+len(w5)
# print(len(w1),len(w2),len(w3),len(w4),len(w5),wsum) #764 14 232 43 522=1575
#-----------------------------------------------------------------------
idata2a=[
"S01_B041P_20","S01_B041P_24",
"S01_B061S_10","S01_B061S_12","S01_B061S_13",
"S01_B101P_00","S01_B101P_02","S01_B101P_03","S01_B101P_04","S01_B101P_05",
"S01_B101S_00","S01_B101S_04","S01_B101S_05",
"S01_B114C_00","S01_B114C_03","S01_B114C_04","S01_B114C_05",
"S01_B175C_00","S01_B175C_04",
"S01_B195C_00","S01_B195C_03","S01_B195C_04",
]
data2["S01_B041P_20"]=['S01_B041P_20__11Lx12B_出棟', 5, 1, 25, ['S01_B041P_21', 'S01_B041P_24', '0', '0', '0'], [[0, -1], [0, -1], [0, 0], [0, 0], [0, 0]], [[19, 12, 23, 2, 14]], 0, [11, 12, 0], 132]
data2["S01_B041P_24"]=['S01_B041P_24__11Lx12B_甲配', 16, 0, 0, ['S01_B041P_30', '0', '0', '0', '0'], [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], 0, 0, 1, 42-4*10]
data2["S01_B061S_10"]=['S01_B061S_10__14Lx13B_正転', 3, 1, 25, ['S01_B061S_11', 'S01_B061S_12', 'S01_B061S_13', '0', '0'], [[0, -1], [0, -1], [0, -1], [0, 0], [0, 0]], [[4, -2, 11, 29, 43]], 0, [13, 14, 0], 182]
data2["S01_B061S_12"]=['S01_B061S_12__14Lx13B_溶接', 11, 0, 0, ['S01_B061S_20', '0', '0', '0', '0'], [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], 0, 0, 1, 204-4*10]
data2["S01_B061S_13"]=['S01_B061S_13__14Lx13B_甲配', 16, 0, 0, ['S01_B061S_20', '0', '0', '0', '0'], [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], 0, 0, 1, 60-3*10]
data2["S01_B101P_00"]=['S01_B101P_00__14Lx9B_開始', 1, 1, 25, ['S01_B101P_01', 'S01_B101P_02', '0', '0', '0'], [[0, -1], [0, -1], [0, 0], [0, 0], [0, 0]], [[2, 44, 58, 2, 11]], 0, [14, 9, 0], 126]
data2["S01_B101P_02"]=['S01_B101P_02__14Lx9B_取付', 10, 0, 0, ['S01_B101P_03', '0', '0', '0', '0'], [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], 0, 0, 0, 114-8*10]
data2["S01_B101P_03"]=['S01_B101P_03__14Lx9B_溶接', 11, 0, 0, ['S01_B101P_04', '0', '0', '0', '0'], [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], 0, 0, 0, 136]
data2["S01_B101P_04"]=['S01_B101P_04__14Lx9B_取付', 12, 0, 0, ['S01_B101P_05', '0', '0', '0', '0'], [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], 0, 0, 0, 76]
data2["S01_B101P_05"]=['S01_B101P_05__14Lx9B_溶接', 13, 0, 0, ['S01_B101P_10', '0', '0', '0', '0'], [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], 0, 0, 1, 68]
data2["S01_B101S_00"]=['S01_B101S_00__14Lx12B_開始', 1, 1, 25, ['S01_B101S_01', 'S01_B101S_04', '0', '0', '0'], [[0, -1], [0, -1], [0, 0], [0, 0], [0, 0]], [[2, 16, 30, 1, 13]], 0, [14, 12, 0], 168]
data2["S01_B101S_04"]=['S01_B101S_04__14Lx12B_取付', 12, 0, 0, ['S01_B101S_05', '0', '0', '0', '0'], [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], 0, 0, 0, 76]
data2["S01_B101S_05"]=['S01_B101S_05__14Lx12B_溶接', 13, 0, 0, ['S01_B101S_10', '0', '0', '0', '0'], [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], 0, 0, 1, 68]
data2["S01_B114C_00"]=['S01_B114C_00__13Lx12B_開始', 1, 1, 25, ['S01_B114C_01', 'S01_B114C_03', '0', '0', '0'], [[0, -1], [0, -1], [0, 0], [0, 0], [0, 0]], [[3, 27, 40, 3, 15]], 0, [13, 12, 0], 156]
data2["S01_B114C_03"]=['S01_B114C_03__13Lx12B_溶接', 11, 0, 0, ['S01_B114C_04', '0', '0', '0', '0'], [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], 0, 0, 0, 204-12*10]
data2["S01_B114C_04"]=['S01_B114C_04__13Lx12B_取付', 12, 0, 0, ['S01_B114C_05', '0', '0', '0', '0'], [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], 0, 0, 0, 76]
data2["S01_B114C_05"]=['S01_B114C_05__13Lx12B_溶接', 13, 0, 0, ['S01_B114C_10', '0', '0', '0', '0'], [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], 0, 0, 1, 10]
data2["S01_B175C_00"]=['S01_B175C_00__13Lx11B_開始', 1, 1, 25, ['S01_B175C_01', 'S01_B175C_04', '0', '0', '0'], [[0, -1], [0, -1], [0, 0], [0, 0], [0, 0]], [[6, 27, 40, 1, 12]], 0, [13, 11, 0], 143]
data2["S01_B175C_04"]=['S01_B175C_04__13Lx11B_取付', 10, 0, 0, ['S01_B175C_10', '0', '0', '0', '0'], [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], 0, 0, 1, 16]
data2["S01_B195C_00"]=['S01_B195C_00__13Lx13B_開始', 1, 1, 25, ['S01_B195C_01', 'S01_B195C_03', '0', '0', '0'], [[0, -1], [0, -1], [0, 0], [0, 0], [0, 0]], [[6, 40, 53, -2, 11]], 0, [13, 13, 0], 169]
data2["S01_B195C_03"]=['S01_B195C_03__13Lx13B_溶接', 11, 0, 0, ['S01_B195C_04', '0', '0', '0', '0'], [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], 0, 0, 0, 48]
data2["S01_B195C_04"]=['S01_B195C_04__13Lx13B_取付', 10, 0, 0, ['S01_B195C_10', '0', '0', '0', '0'], [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], 0, 0, 1, 16]
#-----------------------------------------------------------------------
idata2b=[
"S01_B021P_00","S01_B021P_02","S01_B021P_03","S01_B021P_10","S01_B021P_12",
"S01_B021S_00","S01_B021S_02","S01_B021S_03","S01_B021S_10","S01_B021S_12",
"S01_B031P_00","S01_B031P_02","S01_B031P_03","S01_B031P_10","S01_B031P_12",
"S01_B031S_00","S01_B031S_02","S01_B031S_03","S01_B031S_10","S01_B031S_12",
"S01_B041P_30","S01_B041P_32",
"S01_B041S_30","S01_B041S_32",
"S01_B051P_20","S01_B051P_22","S01_B051P_23","S01_B051P_24",
"S01_B051P_30","S01_B051P_32",
"S01_B051S_20","S01_B051S_22","S01_B051S_23","S01_B051S_24",
"S01_B051S_30","S01_B051S_32",
"S01_B061P_10","S01_B061P_12","S01_B061P_13","S01_B061P_14",
"S01_B061P_20","S01_B061P_22","S01_B061P_30","S01_B061P_32",
"S01_B061S_20","S01_B061S_22","S01_B061S_30","S01_B061S_32",
"S01_B071P_10","S01_B071P_12","S01_B071P_13","S01_B071P_14",
"S01_B071P_20","S01_B071P_22",
"S01_B071P_30","S01_B071P_32",
"S01_B071S_10","S01_B071S_12","S01_B071S_13","S01_B071S_14",
"S01_B071S_20","S01_B071S_22",
"S01_B071S_30","S01_B071S_32",
"S01_B084P_00","S01_B084P_02","S01_B084P_03","S01_B084P_04",
"S01_B084P_10","S01_B084P_12",
"S01_B084S_00","S01_B084S_02","S01_B084S_03","S01_B084S_04",
"S01_B084S_10","S01_B084S_12",
"S01_B091P_10","S01_B091P_12",
"S01_B091P_20","S01_B091P_22","S01_B091P_23","S01_B091P_24",
"S01_B091S_10","S01_B091S_12",
"S01_B091S_20","S01_B091S_22","S01_B091S_23","S01_B091S_24",
"S01_B101P_10","S01_B101P_12","S01_B101P_13","S01_B101P_14",
"S01_B101P_20","S01_B101P_22",
"S01_B101P_30","S01_B101P_32",
"S01_B101S_10","S01_B101S_12","S01_B101S_13","S01_B101S_14",
"S01_B101S_20","S01_B101S_22",
"S01_B114C_10","S01_B114C_12","S01_B114C_13","S01_B114C_14",
"S01_B114H_00","S01_B114H_02","S01_B114H_12",
"S01_B123C_10","S01_B123C_12","S01_B123C_13",
"S01_B153C_00","S01_B153C_02","S01_B153C_10","S01_B153C_12",
"S01_B153C_20","S01_B153C_22","S01_B153C_23",
"S01_B153D_00","S01_B153D_02",
"S01_B153H_00","S01_B153H_02","S01_B153H_03",
"S01_B165C_10","S01_B165C_12",
"S01_B165C_20","S01_B165C_22","S01_B165C_23","S01_B165C_24","S01_B165C_25","S01_B165C_26",
"S01_B165C_30","S01_B165C_32","S01_B165C_33",
"S01_B175C_10","S01_B175C_12",
"S01_B175C_20","S01_B175C_22","S01_B175C_23","S01_B175C_24","S01_B175C_25","S01_B175C_26",
"S01_B175C_30","S01_B175C_32","S01_B175C_33",
"S01_B184C_00","S01_B184C_02","S01_B184C_10","S01_B184C_12","S01_B184C_13","S01_B184C_14",
"S01_B184H_00","S01_B184H_02","S01_B184H_03",
"S01_B195C_10","S01_B195C_12","S01_B195C_20","S01_B195C_22","S01_B195C_23","S01_B195C_24","S01_B195C_25",
"S01_B195C_30","S01_B195C_32","S01_B195C_33",
"S01_B223C_00","S01_B223C_02","S01_B223C_03","S01_B223C_10","S01_B223C_12",
"S01_B223D_00","S01_B223D_02",
"S01_B223H_00","S01_B223H_02","S01_B223H_03",
"S01_B235C_00","S01_B235C_02","S01_B235C_03","S01_B235C_04",
"S01_B235C_10","S01_B235C_12",
"S01_B245C_00","S01_B245C_02","S01_B245C_03","S01_B245C_04",
"S01_B245C_10","S01_B245C_12","S01_B245C_13",
"S01_B245C_20","S01_B245C_22","S01_B245C_23","S01_B245C_24",
"S01_B265C_00","S01_B265C_02","S01_B265C_03","S01_B265C_04",
"S01_B265C_10","S01_B265C_12",
"S01_B275C_00","S01_B275C_02","S01_B275C_03","S01_B275C_04",
"S01_B345C_00","S01_B345C_02","S01_B345C_03","S01_B345C_04",
"S01_B375C_00","S01_B375C_02","S01_B375C_03","S01_B375C_04",
"S01_B392P_00","S01_B392P_02","S01_B392P_03","S01_B392P_04","S01_B392P_05","S01_B392P_10","S01_B392P_12","S01_B392P_13",
"S01_B392S_00","S01_B392S_02","S01_B392S_03","S01_B392S_04","S01_B392S_05",
"S01_B422P_00","S01_B422P_02","S01_B422P_03","S01_B422P_04","S01_B422P_10","S01_B422P_12",
"S01_B422S_00","S01_B422S_02","S01_B422S_03","S01_B422S_04","S01_B422S_10","S01_B422S_12",
"S01_B432S_00","S01_B432S_02","S01_B432S_03","S01_B432S_04","S01_B432S_05",
"S01_B563C_00","S01_B563C_02",
"S01_B563H_00","S01_B563H_02","S01_B563H_03",
]
#-----------------------------------------------------------------------
idata2c1=[
"S01_B014C_00","S01_B014C_02","S01_B014C_03","S01_B014C_04","S01_B014C_05",
"S01_B021P_20","S01_B021P_22",
"S01_B021S_20","S01_B021S_22",
"S01_B031P_20","S01_B031P_22",
"S01_B031S_20","S01_B031S_22",
"S01_B041P_40","S01_B041P_42",
"S01_B041S_40","S01_B041S_42",
"S01_B051P_40","S01_B051P_42",
"S01_B051S_40","S01_B051S_42",
"S01_B061P_40","S01_B061P_42",
"S01_B061S_40","S01_B061S_42",
"S01_B071P_40","S01_B071P_42",
"S01_B071S_40","S01_B071S_42",
"S01_B084P_20","S01_B084P_22",
"S01_B084S_20","S01_B084S_22",
"S01_B091P_30","S01_B091P_32",
"S01_B091S_30","S01_B091S_32",
"S01_B114C_20","S01_B114C_22","S01_B114C_23","S01_B114C_24",
"S01_B123C_20","S01_B123C_22","S01_B123C_23",
"S01_B134P_00","S01_B134P_02","S01_B134P_03","S01_B134P_04",
"S01_B134S_00","S01_B134S_02","S01_B134S_03","S01_B134S_04",
"S01_B153C_30","S01_B153C_32",
"S01_B165C_40","S01_B165C_42","S01_B165C_43","S01_B165C_44",
"S01_B175C_40","S01_B175C_42","S01_B175C_43","S01_B184C_20","S01_B184C_22","S01_B184C_23",
"S01_B223C_20","S01_B223C_22",#"S01_B223C_23",#"S01_B223C_24",
"S01_B235C_20","S01_B235C_22","S01_B235C_23","S01_B235C_24","S01_B235C_25","S01_B235C_26",
"S01_B245C_30","S01_B245C_32","S01_B245C_33",
"S01_B265C_20","S01_B265C_22",#"S01_B265C_23",#"S01_B265C_24",#"S01_B265C_25",
"S01_B275C_10","S01_B275C_12","S01_B275C_13","S01_B275C_14","S01_B275C_15","S01_B275C_16",
"S01_B293D_00","S01_B293D_02","S01_B293D_03","S01_B293D_04","S01_B293D_05",
"S01_B333C_00","S01_B333C_02","S01_B333C_03",
"S01_B345C_10","S01_B345C_12","S01_B345C_13","S01_B345C_14","S01_B345C_15",#"S01_B345C_16",
"S01_B384C_00","S01_B384C_02","S01_B384C_03","S01_B384C_04","S01_B384C_05",
"S01_B392P_20","S01_B392P_22","S01_B392P_23",
"S01_B392S_10","S01_B392S_12","S01_B392S_13",
"S01_B432P_00","S01_B432P_02","S01_B432P_03","S01_B432P_04","S01_B432P_05",
"S01_B444H_00","S01_B444H_02","S01_B444H_12",
"S01_B444S_00","S01_B444S_02","S01_B444S_03",
"S01_B454H_00","S01_B454H_02","S01_B454H_12",
"S01_B462P_00","S01_B462P_02","S01_B462P_03",#"S01_B462P_04",
"S01_B462S_00","S01_B462S_02","S01_B462S_03","S01_B462S_04",
"S01_B472P_00","S01_B472P_02","S01_B472P_03",#"S01_B472P_04",#"S01_B472P_05",
"S01_B472S_00","S01_B472S_02","S01_B472S_03",#"S01_B472S_04",#"S01_B472S_05",
"S01_B563C_10","S01_B563C_12",
"S01_B707D_00","S01_B707D_02",#"S01_B707D_03",
]
idata2c2=[
"S01_B014C_99",
"S01_B021P_99",
"S01_B021S_99",
"S01_B031P_99",
"S01_B031S_99",
"S01_B041P_99",
"S01_B041S_99",
"S01_B051P_99",
"S01_B051S_99",
"S01_B061P_99",
"S01_B061S_99",
"S01_B071P_99",
"S01_B071S_99",
"S01_B084C_99",
"S01_B091P_40",
"S01_B091S_40",
"S01_B114C_99",
"S01_B123C_30",
"S01_B134P_10",
"S01_B134S_10",
"S01_B153C_40",
"S01_B165C_99",
"S01_B175C_99",
"S01_B184C_99",
"S01_B223C_30",
"S01_B235C_30",
"S01_B245C_40",
"S01_B265C_30",
"S01_B275C_20",
"S01_B293C_00",
"S01_B333C_10",
"S01_B345C_20",
"S01_B375C_20",
"S01_B384C_10",
"S01_B392P_30",
"S01_B392S_20",
"S01_B432P_10",
"S01_B444S_10",
"S01_B454P_00",
"S01_B462P_10",
"S01_B462S_10",
"S01_B472P_10",
"S01_B472S_10",
"S01_B563C_20",
"S01_B707D_10",
]
#-----
data2["S01_B084S_22"][9]=60-20
data2["S01_B091S_32"][9]=90-50
data2["S01_B114C_22"][9]=160-80
data2["S01_B114C_23"][9]=110-80
data2["S01_B184C_22"][9]=390-50
data2["S01_B245C_33"][9]=24-20
data2["S01_B392P_22"][9]=90-10
#-----
data2["S01_B014C_99"][3]=d2
data2["S01_B021P_99"][3]=d2
data2["S01_B021S_99"][3]=d2
data2["S01_B031P_99"][3]=d2
data2["S01_B041P_99"][3]=d2
data2["S01_B041S_99"][3]=d2
data2["S01_B051P_99"][3]=d2
data2["S01_B051S_99"][3]=d2
data2["S01_B061P_99"][3]=d2
data2["S01_B061S_99"][3]=d2
data2["S01_B071P_99"][3]=d2
data2["S01_B071S_99"][3]=d2
data2["S01_B084C_99"][3]=d2
data2["S01_B091P_40"][3]=d2
data2["S01_B091S_40"][3]=d2
data2["S01_B114C_99"][3]=d2
data2["S01_B123C_30"][3]=d2
data2["S01_B134P_10"][3]=d2
data2["S01_B134S_10"][3]=d2
data2["S01_B153C_40"][3]=d2
data2["S01_B165C_99"][3]=d2
data2["S01_B175C_99"][3]=d2
data2["S01_B184C_99"][3]=d2
data2["S01_B223C_30"][3]=d2
data2["S01_B235C_30"][3]=d2
data2["S01_B245C_40"][3]=d2
data2["S01_B265C_30"][3]=d2
data2["S01_B275C_20"][3]=d2
data2["S01_B293C_00"][3]=d2
data2["S01_B333C_10"][3]=d2
data2["S01_B345C_20"][3]=d2
data2["S01_B375C_20"][3]=d2
data2["S01_B384C_10"][3]=d2
data2["S01_B392P_30"][3]=d2
data2["S01_B392S_20"][3]=d2
data2["S01_B432P_10"][3]=d2
data2["S01_B444S_10"][3]=d2
data2["S01_B454P_00"][3]=d2
data2["S01_B462P_10"][3]=d2
data2["S01_B462S_10"][3]=d2
data2["S01_B472P_10"][3]=d2
data2["S01_B472S_10"][3]=d2
data2["S01_B563C_20"][3]=d2
data2["S01_B707D_10"][3]=d2
#-----------------------------------------------------------------------
idata2=idata2a+idata2b+idata2c1 #394=10+384
if iwhich==5 : wplace=[] #計画上の待機なし
else: wplace=idata2a+idata2b+idata2c1 #計画上の待機あり
#sys.exit()
|