流水作业调度问题分析过程比较复杂,不过网上可以搜到一大片,基本相同,但普遍都没有对应动态规划的编码。这里对于原理分析就不进行赘述,直接上动态规划解法的代码。package test;
import java.util.ArrayList;
import java.util.List;
/**
* Created by saishangminzhu on 2018/12/5.
*/
public class FlowShopScheduling {
public static void main(String[] arg) {
new FlowShopScheduling().start();
}
/**
* T(N,0)=min{ai+T(N-{i},bi)}
* T(S,t)=min{ai+T(S-{i},bi+max{t-ai,0})}
*/
public void start(){
int result=0;
List taskList=new ArrayList<>();
taskList.add(new Task("J0",2,5));
result=methodT(taskList,0);
System.out.println(result);
taskList.add(new Task("J1",4,2));
result=methodT(taskList,0);
System.out.println(result);
taskList.add(new Task