OptaPlanner -main文件详解
java目录
app-ProjectJobSchedulingApp.java文件
路径:org.optaplanner.examples.projectjobscheduling.app
导入包(父类):
(1)org.optaplanner.examples.common.app.CommonApp
(2)org.optaplanner.examples.common.persistence.AbstractSolutionImporter
(3)org.optaplanner.examples.projectjobscheduling.domain.Schedule
(4)org.optaplanner.examples.projectjobscheduling.persistence.ProjectJobSchedulingImporter
(5)org.optaplanner.examples.projectjobscheduling.persistence.ProjectJobSchedulingXmlSolutionFileIO
(6)org.optaplanner.examples.projectjobscheduling.swingui.ProjectJobSchedulingPanel
(7)org.optaplanner.persistence.common.api.domain.solution.SolutionFileIO
继承:
继承父类CommonApp
公有继承:
SOLVER_CONFIG =“org/optaplanner/examples/projectjobscheduling/solver/projectJobSchedulingSolverConfig.xml”;
DATA_DIR_NAME = “projectjobscheduling”;
主函数:ProjectJobSchedulingApp().init();
ProjectJobSchedulingApp:super代表当前对象的父类型特征。姓名加描述,描述分为 多模式受限资源、多项目调度问题(SOLVER_CONFIG),在确定时间和执行模式后调度所有资源(DATA_DIR_NAME),最小化项目延迟(ProjectJobSchedulingPanel.LOGO_PATH)(导入包)
受保护的:ProjectJobSchedulingPanel、SolutionFileIO、AbstractSolutionImporter
domain-resource-GlobalResource.java文件
整体资源文件
路径:org.optaplanner.examples.projectjobscheduling.domain.resource
导入包(父类):
Xstream提供了Java对象和XML格式, JSON格式转换的支持。
com.thoughtworks.xstream.annotations.XStreamAlias
继承:
公有继承:Resource(导入包)、isRenewable
domain-resource-LocalResource.java文件
本地资源文件
路径:org.optaplanner.examples.projectjobscheduling.domain.resource;
导入包(父类):
(1)org.optaplanner.examples.projectjobscheduling.domain.Project;
(2)com.thoughtworks.xstream.annotations.XStreamAlias;
继承:
公有继承:Resource(导入包)(私有继承:project、renewable)、getproject、setProject、isRenewable、setRenewable
domain-resource-Resource.java文件
资源文件
路径:org.optaplanner.examples.projectjobscheduling.domain.resource;
导入包(父类):
(1)org.optaplanner.examples.common.domain.AbstractPersistable
(2)com.thoughtworks.xstream.annotations.XStreamAlias;
(3)com.thoughtworks.xstream.annotations.XStreamInclude;
@XStreamInclude({GlobalResource.class, LocalResource.class}):导入整体资源和本地资源
继承:
公有继承:AbstractPersistable(导入包)(私有继承:capacity)、getCapacity、setCapacity、isRenewable
domain-solver-DelayStrengthComparator.java文件
延迟强度比较文件
路径:org.optaplanner.examples.projectjobscheduling.domain.solver;
导入包(父类):java.util.Comparator;
继承:
公有继承:Comparator(导入包)、比较a和b,返回正数则说明a大于b,返回0则表示a等于b,返回负数则表示a小于b
domain-solver-ExecutionModeStrengthWeightFactory.java文件
执行模式权重因子
路径:org.optaplanner.examples.projectjobscheduling.domain.solver;
导入包(父类):
(1)java.util.Comparator.comparingDouble;
(2)java.util.Comparator.comparingLong;