package com.algo; import com.algo.model.AGVStatus; import com.algo.model.TaskAssignment; import com.algo.model.TaskData; import com.algo.service.PathPlanningService; import com.algo.service.TaskAllocationService; import com.algo.util.AgvTaskUtils; import com.algo.util.JsonUtils; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import java.util.List; import java.util.Map; @SpringBootTest @RunWith(SpringRunner.class) public class AlgorithmMain { /** * 任务分配测试 */ @Test public void taskAllocationService() { Map> pathMapping = JsonUtils.loadPathMapping("path_mapping.json"); System.out.println(pathMapping); Map environment = JsonUtils.loadEnvironment("environment.json"); System.out.println(environment); TaskAllocationService taskAllocationService = new TaskAllocationService(pathMapping, environment); List agvStatusList = AgvTaskUtils.loadAgvStatus("ctu_agv_status.json"); System.out.println(agvStatusList); List taskList = AgvTaskUtils.loadTaskList("ctu_task_data.json"); System.out.println(taskList); System.out.println("执行任务分配方法:"); List taskAssignments = taskAllocationService.allocateTasks(agvStatusList, taskList); System.out.println(taskAssignments); System.out.println("验证任务分配结果:"); boolean validateAssignments = taskAllocationService.validateAssignments(taskAssignments); System.out.println(validateAssignments); } /** * 路径优化测试 */ @Test public void pathPlanningService() { Map> pathMapping = JsonUtils.loadPathMapping("path_mapping.json"); System.out.println(pathMapping); Map environment = JsonUtils.loadEnvironment("environment.json"); System.out.println(environment); List taskList = AgvTaskUtils.loadTaskList("ctu_task_data.json"); System.out.println(taskList); PathPlanningService pathPlanningService = new PathPlanningService(pathMapping, environment, taskList); List agvStatusList = AgvTaskUtils.loadAgvStatus("ctu_agv_status.json"); System.out.println(agvStatusList); PathPlanningService.PathPlanningResult planningResult = pathPlanningService.planAllAgvPaths(agvStatusList, true, null); System.out.println(planningResult); } }