All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ai.libs.jaicore.search.exampleproblems.openshop.OpenShopState Maven / Gradle / Ivy

package ai.libs.jaicore.search.exampleproblems.openshop;

import java.util.List;

import ai.libs.jaicore.basic.sets.Pair;
import ai.libs.jaicore.problems.scheduling.Machine;
import ai.libs.jaicore.problems.scheduling.JobSchedulingProblemInput;
import ai.libs.jaicore.problems.scheduling.Operation;
import ai.libs.jaicore.problems.scheduling.Schedule;
import ai.libs.jaicore.problems.scheduling.ScheduleBuilder;

public abstract class OpenShopState {
	private final JobSchedulingProblemInput problem;

	public OpenShopState(final JobSchedulingProblemInput problem) {
		super();
		this.problem = problem;
	}

	public abstract List> getPartialAssignment();

	public Schedule getSchedule() {
		ScheduleBuilder sb = new ScheduleBuilder(this.problem);
		for (Pair p : this.getPartialAssignment()) {
			sb.assign(p.getX(), p.getY());
		}
		return sb.build();
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy