java.lang.Object
gov.nasa.jpl.aerie.scheduler.solver.stn.STN

public class STN extends Object
Representation of a simple temporal network (Dechter, Meiri, and Pearl, 1991). Set of timepoint variables with linear constraints between them Classical constraint programming setting where - Each variable has a domain - We want to propagate the constraints to find a solution to the problem or ensure there is not one To solve the constraints, we use bellman-ford algorithm. if a negative cycle is detected during propagation, the network is infeasible otherwise, the new variable domains are updated and can be queried. Domains here represent the flexibility associated with each timepoint.
  • Constructor Details

    • STN

      public STN()
  • Method Details

    • toDOT

      public String toDOT()
    • addBeforeCst

      public void addBeforeCst(String tp1, String tp2)
      tp1 is before tp2 equivalent to the constraint tp1 --- [0, +inf] ---> tp2 Maps to two edges in a distance graph i --- +inf ---> j i <--- -0 --- j we can remove the first one and keep only the second one
    • removeTimepoint

      public void removeTimepoint(String tp1)
    • addDurCst

      public void addDurCst(String tp1, String tp2, double min, double max)
    • getDurCst

      public org.apache.commons.lang3.tuple.Pair<Double,Double> getDurCst(String a, String b)
    • addTimepoint

      public void addTimepoint(String tp)
    • update

      public boolean update()
    • getDist

      public double getDist(String a, String b)
      gets the weight on link a-->b