Exemple #1
0
    def __init__(self):
        self.reliability=1
        self.transition=1

        mod=Read_GAP_data()
        self.g_number_of_agents,self.g_number_of_jobs,self.agent_list,self.job_list=mod.read_data()
        self.g_iteration_times=100
        self.big_M=500
        #DP
        self.g_machine_state_vector_list=[[] for i in range (self.g_number_of_agents)]
        self.g_ending_state_vector_list_LR=[None]*self.g_number_of_agents #Flag=1
        self.g_ending_state_vector_list_ALR=[None]*self.g_number_of_agents #Flag=2

        self.rpo=1 #penalty parameter
        #results
        self.assignment_record=[] #the assignment matrix in each iteration
        self.serving_times=[] # record serving times of each job
        self.repeat_served=[] #repeat served in each iteration
        self.un_served=[] #unserved in each iteration
        self.record_multiplier=[] #multipliers in each iteration
        #LB,UB
        self.max_label_cost=float("inf")
        self.ADMM_local_LB = [0] *self.g_iteration_times
        self.ADMM_local_UB = [0] *self.g_iteration_times
        self.ADMM_global_LB = [-self.max_label_cost] *self.g_iteration_times
        self.ADMM_global_UB = [self.max_label_cost] *self.g_iteration_times
Exemple #2
0
    def __init__(self):
        # self.multiplier=-10 #initial multiplier
        mod = Read_GAP_data()
        self.g_number_of_agents, self.g_number_of_jobs, self.agent_list, self.job_list = mod.read_data(
        )
        # self.g_multipliers_list=[self.multiplier]*self.g_number_of_jobs
        self.g_iteration_times = 100
        self.big_M = 500
        #DP
        self.g_machine_state_vector_list = [
            [] for i in range(self.g_number_of_agents)
        ]
        self.g_ending_state_vector_list = [None] * self.g_number_of_agents

        #results
        self.assignment_record = []  #the assignment matrix in each iteration
        self.serving_times = []  # record serving times of each job
        self.repeat_served = []  #repeat served in each iteration
        self.un_served = []  #unserved in each iteration
        self.record_multiplier = []  #multipliers in each iteration
        #LB,UB
        self.max_label_cost = float("inf")
        self.ADMM_local_LB = [0] * self.g_iteration_times
        self.ADMM_local_UB = [0] * self.g_iteration_times
        self.ADMM_global_LB = [-self.max_label_cost] * self.g_iteration_times
        self.ADMM_global_UB = [self.max_label_cost] * self.g_iteration_times