34 lines
996 B
Java
34 lines
996 B
Java
package jobshop;
|
|
|
|
import jobshop.encodings.Schedule;
|
|
|
|
/** Class representing the result of a solver. */
|
|
public class Result {
|
|
|
|
public Result(Instance instance, Schedule schedule, ExitCause cause) {
|
|
this.instance = instance;
|
|
this.schedule = schedule;
|
|
this.cause = cause;
|
|
}
|
|
|
|
/** Documents the reason why a solver returned the solution. */
|
|
public enum ExitCause {
|
|
/** The solver ran out of time and had to exit. */
|
|
Timeout,
|
|
/** The solution has been proved optimal and thus can no longer be improved. */
|
|
ProvedOptimal,
|
|
/** The solver was not able to further improve the solution (e.g. blocked in a local minima. */
|
|
Blocked
|
|
}
|
|
|
|
/** Instance that was solved. */
|
|
public final Instance instance;
|
|
|
|
/** A schedule of the solution or null if no solution was found. */
|
|
public final Schedule schedule;
|
|
|
|
/** Reason why the solver exited with this solution. */
|
|
public final ExitCause cause;
|
|
|
|
|
|
}
|