public TrajectoryInstance(TrajectoryNLP program, int nDims = 1) : base(new MatlabExpression[program.TDef.TotalQuantityCount]) { Program = program; // zero out everything initially Reset(nDims); }
public TrajectoryQuantity(TrajectoryNLP program, TrajectoryQuantityType type, double[] min, double[] max) { Debug.Assert(min.Length == max.Length); Program = program; QType = type; Length = min.Length; DefaultMin = min; DefaultMax = max; }
public TrajectoryStateInstance(TrajectoryNLP program) : base(new MatlabExpression[program.TDef.StateQuantityCount]) { Program = program; // zero out everything initially for (var i = 0; i < program.TDef.StateQuantityCount; ++i) { Values[i] = M.Zeros(Program.TDef.Quantities[i].Length, 1); } }
public TrajectoryVar(TrajectoryNLP program, object name) : base(name) { Program = program; var totalCount = program.TDef.TotalQuantityCountWBoundaries; Instances = new NamedTrajectoryQuantityInstance[totalCount]; var idx = 0; for (var k = 1; k <= program.Cfg.NSteps + 1; ++k) { for (var i = 0; i < program.TDef.SingleStepQuantityCount; ++i) { var ins = Instances[idx] = new NamedTrajectoryQuantityInstance(this, k, program.TDef.Quantities[i]); if (ins.IsInProblemSpace) { Console.WriteLine("{0}: {1}({2})", ins, ins.Quantity.QType, ins.K); } ++idx; } } }
public TrajectoryDef(TrajectoryNLP program) { Program = program; Quantities = new List <TrajectoryQuantity>(); }