Commit 7e90812c authored by Tong Li's avatar Tong Li

优先级

parent c22e2e70
...@@ -364,31 +364,32 @@ public class Initialization { ...@@ -364,31 +364,32 @@ public class Initialization {
chromo.setOrders(new CopyOnWriteArrayList<>(orders)); chromo.setOrders(new CopyOnWriteArrayList<>(orders));
if (i < sptCount) { if (i < sptCount) {
// SPT规则 // SPT规则 // 1 SPT(最短加工时间)
chromo.setGenerateType("SPT"); chromo.setGenerateType("SPT");
generateChromosomeByType(chromo, 1); generateChromosomeByType(chromo, 1);
} else if (i < eddsptCount) { } else if (i < eddsptCount) {
// EDD+SPT混合策略 // EDD+SPT混合策略 先按截止日期,再按加工时间
chromo.setGenerateType("EDD+SPT"); chromo.setGenerateType("EDD+SPT");
generateEDDSPTChromosome(chromo); generateEDDSPTChromosome(chromo);
} else if (i < eddCount) { } else if (i < eddCount) {
// EDD规则 // EDD规则 截止时间
chromo.setGenerateType("EDD"); chromo.setGenerateType("EDD");
generateChromosomeByType(chromo, 3); generateChromosomeByType(chromo, 3);
} else if (i < bottleneckCount) { } else if (i < bottleneckCount) {
// 瓶颈优先策略 // 瓶颈优先策略
chromo.setGenerateType("BottleneckFirst"); chromo.setGenerateType("BottleneckFirst");
generateBottleneckFirstChromosome(chromo); generateBottleneckFirstChromosome(chromo);
} else if (i < sstCount) { } else if (i < sstCount) {
// SST规则(已有物料排序) // SST规则(已有物料排序):优先选择准备时间最短的工序
chromo.setGenerateType("SST"); chromo.setGenerateType("SST");
generateSSTChromosome(chromo); generateSSTChromosome(chromo);
} else if (i < crCount) { } else if (i < crCount) {
// CR规则 // CR规则 CR(关键比率)规则:关键比率 = (截止日期 - 当前日期) / 剩余加工时间
chromo.setGenerateType("CR"); chromo.setGenerateType("CR");
generateCRChromosome(chromo); generateCRChromosome(chromo);
} else if (i < lptCount) { } else if (i < lptCount) {
// LPT规则 // LPT规则 2 LPT(最长加工时间)
chromo.setGenerateType("LPT"); chromo.setGenerateType("LPT");
generateChromosomeByType(chromo, 2); generateChromosomeByType(chromo, 2);
} else { } else {
...@@ -460,6 +461,7 @@ public class Initialization { ...@@ -460,6 +461,7 @@ public class Initialization {
} }
} else if (sortType == 3) { } else if (sortType == 3) {
//截止时间
if (considerSequence) { if (considerSequence) {
sortedOps.sort(Comparator.comparing((Entry op) -> op.getPriority()) sortedOps.sort(Comparator.comparing((Entry op) -> op.getPriority())
.thenComparing(Entry::getSequence) .thenComparing(Entry::getSequence)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment