Class Problem
java.lang.Object
gov.nasa.jpl.aerie.scheduler.model.Problem
description of a planning problem to be solved
-
Field Summary
FieldsModifier and TypeFieldDescriptioncontainer of all goals in the problem, indexed by nameprotected final PlanningHorizon -
Constructor Summary
ConstructorsConstructorDescriptionProblem(gov.nasa.jpl.aerie.merlin.driver.MissionModel<?> mission, PlanningHorizon planningHorizon, SimulationFacade simulationFacade, gov.nasa.jpl.aerie.merlin.protocol.model.SchedulerModel schedulerModel) Problem(gov.nasa.jpl.aerie.merlin.driver.MissionModel<?> mission, PlanningHorizon planningHorizon, SimulationFacade simulationFacade, gov.nasa.jpl.aerie.merlin.protocol.model.SchedulerModel schedulerModel, Map<gov.nasa.jpl.aerie.types.ActivityDirectiveId, GoalId> sourceSchedulingGoals) creates a new empty problem based in the given mission model -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(GlobalConstraintWithIntrospection globalConstraint) adds a new global constraint to the mission modelvoidadd(ActivityType actType) adds a new activity type definition to the mission modelgetActivityType(String name) fetches the activity type object with the given namegetGoals()retrieves the set of all requested plan goals planning algorithms should attempt to satisfy these goals when generating or updating plans.fetches the initial seed plan that schedulers may start fromgov.nasa.jpl.aerie.merlin.driver.MissionModel<?> fetches the mission model that this problem is based ongov.nasa.jpl.aerie.merlin.protocol.model.SchedulerModelvoidsetEventsByDerivationGroup(Map<String, List<gov.nasa.ammos.aerie.procedural.timeline.payloads.ExternalEvent>> events) voidsetExternalProfile(Map<String, gov.nasa.jpl.aerie.constraints.model.LinearProfile> realExternalProfiles, Map<String, gov.nasa.jpl.aerie.constraints.model.DiscreteProfile> discreteExternalProfiles) voidvoidsetInitialPlan(Plan plan) sets the initial seed plan that schedulers may start fromvoidsetInitialPlan(Plan plan, Optional<gov.nasa.jpl.aerie.merlin.driver.SimulationResults> initialSimulationResults) sets the initial seed plan that schedulers may start from
-
Field Details
-
planningHorizon
-
sourceSchedulingGoals
-
goalsOrderedByPriority
container of all goals in the problem, indexed by name
-
-
Constructor Details
-
Problem
public Problem(gov.nasa.jpl.aerie.merlin.driver.MissionModel<?> mission, PlanningHorizon planningHorizon, SimulationFacade simulationFacade, gov.nasa.jpl.aerie.merlin.protocol.model.SchedulerModel schedulerModel, Map<gov.nasa.jpl.aerie.types.ActivityDirectiveId, GoalId> sourceSchedulingGoals) creates a new empty problem based in the given mission model- Parameters:
mission- IN the mission model that this problem is based on
-
Problem
public Problem(gov.nasa.jpl.aerie.merlin.driver.MissionModel<?> mission, PlanningHorizon planningHorizon, SimulationFacade simulationFacade, gov.nasa.jpl.aerie.merlin.protocol.model.SchedulerModel schedulerModel)
-
-
Method Details
-
getSimulationFacade
-
getPlanningHorizon
-
getSchedulerModel
public gov.nasa.jpl.aerie.merlin.protocol.model.SchedulerModel getSchedulerModel() -
add
adds a new global constraint to the mission model- Parameters:
globalConstraint- IN the global constraint
-
getGlobalConstraints
-
getMissionModel
public gov.nasa.jpl.aerie.merlin.driver.MissionModel<?> getMissionModel()fetches the mission model that this problem is based on- Returns:
- the mission model that this problem is based on
-
getInitialPlan
fetches the initial seed plan that schedulers may start from- Returns:
- the initial seed plan that schedulers may start from
-
setInitialPlan
public void setInitialPlan(Plan plan, Optional<gov.nasa.jpl.aerie.merlin.driver.SimulationResults> initialSimulationResults) sets the initial seed plan that schedulers may start from- Parameters:
plan- the initial seed plan that schedulers may start frominitialSimulationResults- optional initial simulation results associated to the initial plan
-
setInitialPlan
sets the initial seed plan that schedulers may start from- Parameters:
plan- the initial seed plan that schedulers may start from
-
getInitialSimulationResults
-
setExternalProfile
-
setEventsByDerivationGroup
-
getRealExternalProfiles
-
getDiscreteExternalProfiles
-
getEventsByDerivationGroup
-
setGoals
-
getGoals
retrieves the set of all requested plan goals planning algorithms should attempt to satisfy these goals when generating or updating plans. the details of exactly how the goals are weighted against eachother is up to the algorithm, and not all goals must be satisfied in a proposed solution plan- Returns:
- an un-modifiable container of the goals requested for this plan
-
add
adds a new activity type definition to the mission model- Parameters:
actType- IN the activity type definition to add to the mission model, which must not already have a type definition with matching identifier
-
getActivityType
fetches the activity type object with the given name- Parameters:
name- IN the name associated with the requested activity type- Returns:
- the activity type with a matching name, or null if there is no such activity type in the mission model
-
getActivityTypes
-