WarehouseConstraintProvider.java
package com.v1rex.liftnexus.planning.constraints;
import ai.timefold.solver.core.api.score.stream.Constraint;
import ai.timefold.solver.core.api.score.stream.ConstraintFactory;
import ai.timefold.solver.core.api.score.stream.ConstraintProvider;
public class WarehouseConstraintProvider implements ConstraintProvider {
@Override
public Constraint[] defineConstraints(ConstraintFactory constraintFactory) {
return new Constraint[] {
forkliftCapacity(constraintFactory),
travelDistance(constraintFactory),
equipmentType(constraintFactory)
};
}
public Constraint forkliftCapacity(ConstraintFactory factory) {
return ForkliftCapacityConstraint.forkliftCapacity(factory);
}
public Constraint travelDistance(ConstraintFactory factory) {
return ForkliftTravelDistanceConstraint.forkliftTravelDistance(factory);
}
public Constraint equipmentType(ConstraintFactory factory) {
return TransportOrderEquipmentRequirementConstraint.equipmentType(factory);
}
}