add getters on tsp model in the disjunctive constraint

This commit is contained in:
lperron@google.com
2014-02-13 22:53:55 +00:00
parent e4559bb37a
commit 12ece6f59a
2 changed files with 17 additions and 0 deletions

View File

@@ -5012,6 +5012,11 @@ class DisjunctiveConstraint : public Constraint {
}
}
virtual const std::vector<IntVar*>& nexts() const = 0;
virtual const std::vector<IntVar*>& actives() const = 0;
virtual const std::vector<IntVar*>& time_cumuls() const = 0;
virtual const std::vector<IntVar*>& time_slacks() const = 0;
protected:
const std::vector<IntervalVar*> intervals_;
std::unique_ptr<Solver::IndexEvaluator2> transition_time_;

View File

@@ -911,6 +911,18 @@ class FullDisjunctiveConstraint : public DisjunctiveConstraint {
JoinDebugStringPtr(intervals_, ",").c_str());
}
virtual const std::vector<IntVar*>& nexts() const { return nexts_; }
virtual const std::vector<IntVar*>& actives() const { return actives_; }
virtual const std::vector<IntVar*>& time_cumuls() const {
return time_cumuls_;
}
virtual const std::vector<IntVar*>& time_slacks() const {
return time_slacks_;
}
private:
int64 Distance(int64 activity_plus_one, int64 next_activity_plus_one) {
return (transition_time_.get() == nullptr || activity_plus_one == 0 ||