This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim-trajectory".
The branch, master has been updated via b95cbc4b1d83a4f49e797c5a74c8cd465f0776e9 (commit) from d6efc235e8d07dbbc73dcccb3fef58363df8ec5a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit b95cbc4b1d83a4f49e797c5a74c8cd465f0776e9 Author: Thomas Moulard <thomas.moul...@gmail.com> Date: Thu Mar 4 13:58:42 2010 +0100 Fix start/end freezing constriant for CubicBSpline. * include/roboptim/trajectory/cubic-b-spline.hh, * include/roboptim/trajectory/cubic-b-spline.hxx: Fix constraint and add optional offset to handle trajectories with extra parameters. * tests/spline-optimization.cc: Use new linear constraint. * tests/spline-optimization.stdout: Regenerate. * tests/spline-time-optimization.cc: Use new linear constraint. * tests/spline-time-optimization.stdout: Regenerate. Signed-off-by: Thomas Moulard <thomas.moul...@gmail.com> diff --git a/ChangeLog b/ChangeLog index 2296944..ad163c0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2010-03-04 Thomas Moulard <thomas.moul...@gmail.com> + + Fix start/end freezing constriant for CubicBSpline. + * include/roboptim/trajectory/cubic-b-spline.hh, + * include/roboptim/trajectory/cubic-b-spline.hxx: Fix constraint + and add optional offset to handle trajectories with extra parameters. + * tests/spline-optimization.cc: Use new linear constraint. + * tests/spline-optimization.stdout: Regenerate. + * tests/spline-time-optimization.cc: Use new linear constraint. + * tests/spline-time-optimization.stdout: Regenerate. + 2010-03-03 Thomas Moulard <thomas.moul...@gmail.com> Fix SPEC file. diff --git a/include/roboptim/trajectory/cubic-b-spline.hh b/include/roboptim/trajectory/cubic-b-spline.hh index e02164c..d76320e 100644 --- a/include/roboptim/trajectory/cubic-b-spline.hh +++ b/include/roboptim/trajectory/cubic-b-spline.hh @@ -97,9 +97,9 @@ namespace roboptim const throw (); template <typename P> - void freezeCurveStart (P& problem); + void freezeCurveStart (P& problem, size_type offset = 0) const throw (); template <typename P> - void freezeCurveEnd (P& problem); + void freezeCurveEnd (P& problem, size_type offset = 0) const throw (); protected: void impl_compute (result_t&, double) const throw (); @@ -121,4 +121,5 @@ namespace roboptim } // end of namespace roboptim. +# include <roboptim/trajectory/cubic-b-spline.hxx> #endif //! ROBOPTIM_TRAJECTORY_TRAJECTORY_HH diff --git a/include/roboptim/trajectory/cubic-b-spline.hxx b/include/roboptim/trajectory/cubic-b-spline.hxx index 5aadeed..0f0f974 100644 --- a/include/roboptim/trajectory/cubic-b-spline.hxx +++ b/include/roboptim/trajectory/cubic-b-spline.hxx @@ -17,81 +17,61 @@ #ifndef ROBOPTIM_TRAJECTORY_CUBIC_B_SPLINE_HXX # define ROBOPTIM_TRAJECTORY_CUBIC_B_SPLINE_HXX +# include <roboptim/core/numeric-linear-function.hh> namespace roboptim { template <typename P> void - CubicBSpline::frezzeCurveStart (P& problem) + CubicBSpline::freezeCurveStart (P& problem, size_type offset) const throw () { - using boost::numeric::ublas::zero_matrix; - using boost::numeric::ublas::zero_vector; + using boost::shared_ptr; + const size_type paramSize = parameters ().size (); + const Function::interval_t interval = Function::makeInterval (0, 0); + assert (paramSize >= offset + 3 * outputSize ()); - Function::matrix_t A[3]; - Function::vector_t b[3]; + for (size_type i = 0; i < outputSize (); ++i) + { + Function::matrix_t A (1, offset + paramSize); + Function::vector_t b (1); + A.clear (); + b.clear (); - A[0] = zero_matrix<double>(1, paramSize); - A[1] = zero_matrix<double>(1, paramSize); - A[2] = zero_matrix<double>(1, paramSize); - - b[0] = zero_vector<double>(1); - b[1] = zero_vector<double>(1); - b[2] = zero_vector<double>(1); - A[0](0,1) = A[1](0,2) = A[2](0,3)=1./6.; - A[0](0,4) = A[1](0,5) = A[2](0,6)=2./3.; - A[0](0,7) = A[1](0,8) = A[2](0,9)=1./6.; - b[0](0) = -freeTimeTraj_.parameters ()[1+0]; - b[1](0) = -freeTimeTraj_.parameters ()[1+1]; - b[2](0) = -freeTimeTraj_.parameters ()[1+2]; - NumericLinearFunction* boundaryCond; - boundaryCond = new NumericLinearFunction(A[0], b[0]); - boost::shared_ptr<LinearFunction> boundaryCond0ShPtr(boundaryCond); - boundaryCond = new NumericLinearFunction(A[1], b[1]); - boost::shared_ptr<LinearFunction> boundaryCond1ShPtr(boundaryCond); - boundaryCond = new NumericLinearFunction(A[2], b[2]); - boost::shared_ptr<LinearFunction> boundaryCond2ShPtr(boundaryCond); - - problem.addConstraint(boundaryCond0ShPtr, interval); - problem.addConstraint(boundaryCond1ShPtr, interval); - problem.addConstraint(boundaryCond2ShPtr, interval); + A (0, offset + i + 0. * outputSize ()) = 1. / 6.; + A (0, offset + i + 1. * outputSize ()) = 2. / 3.; + A (0, offset + i + 2. * outputSize ()) = 1. / 6.; + b (0) = -parameters ()[offset + i]; + NumericLinearFunction* boundaryCond = new NumericLinearFunction (A, b); + shared_ptr<LinearFunction> boundaryCondShPtr (boundaryCond); + problem.addConstraint (boundaryCondShPtr, interval); + } } template <typename P> void - CubicBSpline::frezzeCurveEnd (P& problem) + CubicBSpline::freezeCurveEnd (P& problem, size_type offset) const throw () { - using boost::numeric::ublas::zero_matrix; - using boost::numeric::ublas::zero_vector; - - Function::matrix_t A[3]; - Function::vector_t b[3]; + using boost::shared_ptr; + const size_type paramSize = parameters ().size (); + const Function::interval_t interval = Function::makeInterval (0, 0); + assert (paramSize >= offset + 3 * outputSize ()); - A[0] = zero_matrix<double>(1, paramSize); - A[1] = zero_matrix<double>(1, paramSize); - A[2] = zero_matrix<double>(1, paramSize); - b[0] = zero_vector<double>(1); - b[1] = zero_vector<double>(1); - b[2] = zero_vector<double>(1); + for (size_type i = 0; i < outputSize (); ++i) + { + Function::matrix_t A (1, offset + paramSize); + Function::vector_t b (1); + A.clear (); + b.clear (); - A[0](0,paramSize-9) = A[1](0,paramSize-8) = A[2](0,paramSize-7)=1./6.; - A[0](0,paramSize-6) = A[1](0,paramSize-5) = A[2](0,paramSize-4)=2./3.; - A[0](0,paramSize-3) = A[1](0,paramSize-2) = A[2](0,paramSize-1)=1./6.; - b[0](0) = -freeTimeTraj_.parameters ()[paramSize-3]; - b[1](0) = -freeTimeTraj_.parameters ()[paramSize-2]; - b[2](0) = -freeTimeTraj_.parameters ()[paramSize-1]; - boundaryCond = new NumericLinearFunction(A[0], b[0]); - boost::shared_ptr<LinearFunction> boundaryCond3ShPtr(boundaryCond); - boundaryCond = new NumericLinearFunction(A[1], b[1]); - boost::shared_ptr<LinearFunction> boundaryCond4ShPtr(boundaryCond); - boundaryCond = new NumericLinearFunction(A[2], b[2]); - boost::shared_ptr<LinearFunction> boundaryCond5ShPtr(boundaryCond); - - Function::interval_t interval = Function::makeInterval(0., 0.); - problem.addConstraint(boundaryCond3ShPtr, interval); - problem.addConstraint(boundaryCond4ShPtr, interval); - problem.addConstraint(boundaryCond5ShPtr, interval); + A (0, paramSize - 1 - i - 0. * outputSize ()) = 1. / 6.; + A (0, paramSize - 1 - i - 1. * outputSize ()) = 2. / 3.; + A (0, paramSize - 1 - i - 2. * outputSize ()) = 1. / 6.; + b (0) = -parameters ()[paramSize - 1 - i]; + NumericLinearFunction* boundaryCond = new NumericLinearFunction (A, b); + shared_ptr<LinearFunction> boundaryCondShPtr (boundaryCond); + problem.addConstraint (boundaryCondShPtr, interval); + } } - } // end of namespace roboptim. #endif //! ROBOPTIM_TRAJECTORY_TRAJECTORY_HXX diff --git a/tests/spline-optimization.cc b/tests/spline-optimization.cc index 89727db..dbad8a2 100644 --- a/tests/spline-optimization.cc +++ b/tests/spline-optimization.cc @@ -28,7 +28,6 @@ #include <roboptim/core/visualization/gnuplot-commands.hh> #include <roboptim/core/visualization/gnuplot-function.hh> -#include <roboptim/trajectory/freeze.hh> #include <roboptim/trajectory/fwd.hh> #include <roboptim/trajectory/spline-length.hh> #include <roboptim/trajectory/cubic-b-spline.hh> @@ -48,6 +47,32 @@ using namespace roboptim::visualization::gnuplot; typedef CFSQPSolver::problem_t::constraints_t constraint_t; typedef CFSQPSolver solver_t; +void showSpline (const CubicBSpline& spline); + +void showSpline (const CubicBSpline& spline) +{ + std::cout + << "# Values:" << std::endl + << "# " << normalize (spline (0.)) << std::endl + << "# " << normalize (spline (2.5)) << std::endl + << "# " << normalize (spline (4.)) << std::endl + + << "# 1st derivative:" << std::endl + << "# " << normalize (spline.derivative (0., 1)) << std::endl + << "# " << normalize (spline.derivative (2.5, 1)) << std::endl + << "# " << normalize (spline.derivative (4., 1)) << std::endl + + << "# 2nd derivative:" << std::endl + << "# " << normalize (spline.derivative (0., 2)) << std::endl + << "# " << normalize (spline.derivative (2.5, 2)) << std::endl + << "# " << normalize (spline.derivative (4., 2)) << std::endl + + << "# variationConfigWrtParam:" << std::endl + << "# " << normalize (spline.variationConfigWrtParam (0.)) << std::endl + << "# " << normalize (spline.variationConfigWrtParam (2.5)) << std::endl + << "# " << normalize (spline.variationConfigWrtParam (4.)) << std::endl; +} + int run_test () { using namespace boost::assign; @@ -71,26 +96,7 @@ int run_test () CubicBSpline spline (timeRange, 2, params, "before"); discreteInterval_t interval (0., 4., 0.01); - std::cout - << "# Values:" << std::endl - << "# " << normalize (spline (0.)) << std::endl - << "# " << normalize (spline (2.5)) << std::endl - << "# " << normalize (spline (4.)) << std::endl - - << "# 1st derivative:" << std::endl - << "# " << normalize (spline.derivative (0., 1)) << std::endl - << "# " << normalize (spline.derivative (2.5, 1)) << std::endl - << "# " << normalize (spline.derivative (4., 1)) << std::endl - - << "# 2nd derivative:" << std::endl - << "# " << normalize (spline.derivative (0., 2)) << std::endl - << "# " << normalize (spline.derivative (2.5, 2)) << std::endl - << "# " << normalize (spline.derivative (4., 2)) << std::endl - - << "# variationConfigWrtParam:" << std::endl - << "# " << normalize (spline.variationConfigWrtParam (0.)) << std::endl - << "# " << normalize (spline.variationConfigWrtParam (2.5)) << std::endl - << "# " << normalize (spline.variationConfigWrtParam (4.)) << std::endl; + showSpline (spline); Gnuplot gnuplot = Gnuplot::make_interactive_gnuplot (); gnuplot @@ -120,20 +126,8 @@ int run_test () solver_t::problem_t problem (cost); problem.startingPoint () = params; - std::vector<Function::size_type> indices; - indices.push_back (0); - indices.push_back (1); - indices.push_back (2); - indices.push_back (3); - indices.push_back (4); - indices.push_back (5); - indices.push_back (params.size () - 6); - indices.push_back (params.size () - 5); - indices.push_back (params.size () - 4); - indices.push_back (params.size () - 3); - indices.push_back (params.size () - 2); - indices.push_back (params.size () - 1); - makeFreeze (problem) (indices, params); + spline.freezeCurveStart (problem); + spline.freezeCurveEnd (problem); SolverFactory<solver_t> factory ("cfsqp", problem); solver_t& solver = factory (); @@ -151,6 +145,7 @@ int run_test () { Result& result = boost::get<Result> (res); CubicBSpline optimizedSpline (timeRange, 2, result.x, "after"); + showSpline (optimizedSpline); params = result.x; gnuplot << plot_xy (optimizedSpline); break; @@ -165,6 +160,7 @@ int run_test () { ResultWithWarnings& result = boost::get<ResultWithWarnings> (res); CubicBSpline optimizedSpline (timeRange, 2, result.x, "after"); + showSpline (optimizedSpline); params = result.x; std::cerr << result << std::endl; gnuplot << plot_xy (optimizedSpline); diff --git a/tests/spline-optimization.stdout b/tests/spline-optimization.stdout index 4cb3deb..f3a4741 100644 --- a/tests/spline-optimization.stdout +++ b/tests/spline-optimization.stdout @@ -14,8 +14,24 @@ # [2,16]((0.17,0.00,0.67,0.00,0.17,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00),(0.00,0.17,0.00,0.67,0.00,0.17,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00)) # [2,16]((0.00,0.00,0.00,0.00,0.00,0.00,0.11,0.00,0.65,0.00,0.24,0.00,0.00,0.00,0.00,0.00),(0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.11,0.00,0.65,0.00,0.24,0.00,0.00,0.00,0.00)) # [2,16]((0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.17,0.00,0.67,0.00,0.17,0.00),(0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.17,0.00,0.67,0.00,0.17)) +# Values: +# [2](0.00,0.00) +# [2](62.63,62.63) +# [2](100.00,100.00) +# 1st derivative: +# [2](21.48,21.48) +# [2](24.97,24.97) +# [2](21.48,21.48) +# 2nd derivative: +# [2](13.87,13.87) +# [2](-1.06,-1.06) +# [2](-13.87,-13.87) +# variationConfigWrtParam: +# [2,16]((0.17,0.00,0.67,0.00,0.17,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00),(0.00,0.17,0.00,0.67,0.00,0.17,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00)) +# [2,16]((0.00,0.00,0.00,0.00,0.00,0.00,0.11,0.00,0.65,0.00,0.24,0.00,0.00,0.00,0.00,0.00),(0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.11,0.00,0.65,0.00,0.24,0.00,0.00,0.00,0.00)) +# [2,16]((0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.17,0.00,0.67,0.00,0.17,0.00),(0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.17,0.00,0.67,0.00,0.17)) #!/usr/bin/gnuplot -# Generated by RobOptim core library 0.5 +# Generated by RobOptim core library 0.5.12.dc6a set terminal wxt persist set multiplot layout 1,2 set grid @@ -121,104 +137,104 @@ plot '-' title 'before' with line e plot '-' title 'after' with line -0.000877 0.000877 -0.007018 0.007018 -0.023684 0.023684 -0.056140 0.056140 -0.109649 0.109649 -0.189473 0.189473 -0.300877 0.300877 -0.449122 0.449122 -0.639473 0.639473 -0.877191 0.877191 -1.167542 1.167542 -1.515787 1.515787 -1.927190 1.927190 -2.407013 2.407013 -2.960521 2.960521 -3.592976 3.592976 -4.309642 4.309642 -5.115781 5.115781 -6.016656 6.016656 -7.017532 7.017532 -8.121367 8.121367 -9.321914 9.321914 -10.610618 10.610618 -11.978927 11.978927 -13.418289 13.418289 -14.920150 14.920150 -16.475959 16.475959 -18.077163 18.077163 -19.715210 19.715210 -21.381545 21.381545 -23.067618 23.067618 -24.764876 24.764876 -26.464765 26.464765 -28.158733 28.158733 -29.838228 29.838228 -31.494697 31.494697 -33.119587 33.119587 -34.704347 34.704347 -36.240422 36.240422 -37.719262 37.719262 -39.134834 39.134834 -40.491196 40.491196 -41.794927 41.794927 -43.052606 43.052606 -44.270812 44.270812 -45.456123 45.456123 -46.615118 46.615118 -47.754377 47.754377 -48.880478 48.880478 +0.870031 0.870031 +1.760881 1.760881 +2.671182 2.671182 +3.599565 3.599565 +4.544661 4.544661 +5.505102 5.505102 +6.479520 6.479520 +7.466546 7.466546 +8.464811 8.464811 +9.472947 9.472947 +10.489585 10.489585 +11.513357 11.513357 +12.542894 12.542894 +13.576828 13.576828 +14.613790 14.613790 +15.652411 15.652411 +16.691324 16.691324 +17.729159 17.729159 +18.764548 18.764548 +19.796122 19.796122 +20.822807 20.822807 +21.844702 21.844702 +22.862201 22.862201 +23.875697 23.875697 +24.885584 24.885584 +25.892254 25.892254 +26.896102 26.896102 +27.897520 27.897520 +28.896902 28.896902 +29.894641 29.894641 +30.891132 30.891132 +31.886766 31.886766 +32.881939 32.881939 +33.877042 33.877042 +34.872469 34.872469 +35.868614 35.868614 +36.865871 36.865871 +37.864632 37.864632 +38.865290 38.865290 +39.868241 39.868241 +40.873765 40.873765 +41.881706 41.881706 +42.891794 42.891794 +43.903762 43.903762 +44.917341 44.917341 +45.932262 45.932262 +46.948257 46.948257 +47.965057 47.965057 +48.982394 48.982394 50.000000 50.000000 -51.119522 51.119522 -52.245623 52.245623 -53.384882 53.384882 -54.543877 54.543877 -55.729188 55.729188 -56.947394 56.947394 -58.205073 58.205073 -59.508804 59.508804 -60.865166 60.865166 -62.280738 62.280738 -63.759578 63.759578 -65.295653 65.295653 -66.880413 66.880413 -68.505303 68.505303 -70.161772 70.161772 -71.841267 71.841267 -73.535235 73.535235 -75.235124 75.235124 -76.932382 76.932382 -78.618455 78.618455 -80.284790 80.284790 -81.922837 81.922837 -83.524041 83.524041 -85.079850 85.079850 -86.581711 86.581711 -88.021073 88.021073 -89.389382 89.389382 -90.678086 90.678086 -91.878633 91.878633 -92.982468 92.982468 -93.983344 93.983344 -94.884219 94.884219 -95.690358 95.690358 -96.407024 96.407024 -97.039479 97.039479 -97.592987 97.592987 -98.072810 98.072810 -98.484213 98.484213 -98.832458 98.832458 -99.122809 99.122809 -99.360527 99.360527 -99.550878 99.550878 -99.699123 99.699123 -99.810527 99.810527 -99.890351 99.890351 -99.943860 99.943860 -99.976316 99.976316 -99.992982 99.992982 +51.017606 51.017606 +52.034943 52.034943 +53.051743 53.051743 +54.067738 54.067738 +55.082659 55.082659 +56.096238 56.096238 +57.108206 57.108206 +58.118294 58.118294 +59.126235 59.126235 +60.131759 60.131759 +61.134710 61.134710 +62.135368 62.135368 +63.134129 63.134129 +64.131386 64.131386 +65.127531 65.127531 +66.122958 66.122958 +67.118061 67.118061 +68.113234 68.113234 +69.108868 69.108868 +70.105359 70.105359 +71.103098 71.103098 +72.102480 72.102480 +73.103898 73.103898 +74.107746 74.107746 +75.114416 75.114416 +76.124303 76.124303 +77.137799 77.137799 +78.155298 78.155298 +79.177193 79.177193 +80.203878 80.203878 +81.235452 81.235452 +82.270841 82.270841 +83.308676 83.308676 +84.347589 84.347589 +85.386210 85.386210 +86.423172 86.423172 +87.457106 87.457106 +88.486643 88.486643 +89.510415 89.510415 +90.527053 90.527053 +91.535189 91.535189 +92.533454 92.533454 +93.520480 93.520480 +94.494898 94.494898 +95.455339 95.455339 +96.400435 96.400435 +97.328818 97.328818 +98.239119 98.239119 e unset multiplot diff --git a/tests/spline-time-optimization.cc b/tests/spline-time-optimization.cc index a5d6b9e..5b0f351 100644 --- a/tests/spline-time-optimization.cc +++ b/tests/spline-time-optimization.cc @@ -31,7 +31,6 @@ #include <roboptim/core/visualization/gnuplot-function.hh> #include <roboptim/trajectory/free-time-trajectory.hh> -#include <roboptim/trajectory/freeze.hh> #include <roboptim/trajectory/fwd.hh> #include <roboptim/trajectory/limit-speed.hh> #include <roboptim/trajectory/spline-length.hh> @@ -97,14 +96,8 @@ int run_test () const freeTime_t::vector_t freeTimeParams = freeTimeTraj.parameters (); - std::vector<Function::size_type> indices; - indices.push_back (1); - indices.push_back (2); - indices.push_back (3); - indices.push_back (freeTimeParams.size () - 3); - indices.push_back (freeTimeParams.size () - 2); - indices.push_back (freeTimeParams.size () - 1); - makeFreeze (problem) (indices, freeTimeParams); + spline.freezeCurveStart (problem, 1); + spline.freezeCurveEnd (problem, 1); Function::interval_t vRange = Function::makeUpperInterval (.5 * vMax * vMax); LimitSpeed<FreeTimeTrajectory<CubicBSpline> >::addToProblem diff --git a/tests/spline-time-optimization.stdout b/tests/spline-time-optimization.stdout index 0fa2cd1..b921506 100644 --- a/tests/spline-time-optimization.stdout +++ b/tests/spline-time-optimization.stdout @@ -3,904 +3,920 @@ Solver: Numeric linear function A = [1,16]((-1.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00)) B = [1](0.00) - Argument's bounds: (0.00, inf), (0.00, 0.00), (0.00, 0.00), (0.00, 0.00), (-inf, inf), (-inf, inf), (-inf, inf), (-inf, inf), (-inf, inf), (-inf, inf), (-inf, inf), (-inf, inf), (-inf, inf), (200.00, 200.00), (200.00, 200.00), (200.00, 200.00) + Argument's bounds: (0.00, inf), (-inf, inf), (-inf, inf), (-inf, inf), (-inf, inf), (-inf, inf), (-inf, inf), (-inf, inf), (-inf, inf), (-inf, inf), (-inf, inf), (-inf, inf), (-inf, inf), (-inf, inf), (-inf, inf), (-inf, inf) Argument's scales: 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00 - Number of constraints: 150 + Number of constraints: 152 Constraint 0 + Numeric linear function + A = [1,16]((0.00,0.17,0.67,0.17,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00)) + B = [1](-0.00) + Bounds: (0.00, 0.00) + Scales: 1.00 + Initial value: [1](0.00) + + Constraint 1 + Numeric linear function + A = [1,16]((0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.17,0.67,0.17,0.00)) + B = [1](-200.00) + Bounds: (0.00, 0.00) + Scales: 1.00 + Initial value: [1](-3.33) (constraint not satisfied) + + Constraint 2 speed limit (0.00662252) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](0.02) - Constraint 1 + Constraint 3 speed limit (0.013245) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](0.29) - Constraint 2 + Constraint 4 speed limit (0.0198675) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1.45) - Constraint 3 + Constraint 5 speed limit (0.0264901) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](4.59) - Constraint 4 + Constraint 6 speed limit (0.0331126) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](11.22) - Constraint 5 + Constraint 7 speed limit (0.0397351) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](23.26) - Constraint 6 + Constraint 8 speed limit (0.0463576) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](43.09) - Constraint 7 + Constraint 9 speed limit (0.0529801) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](73.52) - Constraint 8 + Constraint 10 speed limit (0.0596026) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](117.76) - Constraint 9 + Constraint 11 speed limit (0.0662252) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](179.49) - Constraint 10 + Constraint 12 speed limit (0.0728477) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](262.78) - Constraint 11 + Constraint 13 speed limit (0.0794702) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](372.18) - Constraint 12 + Constraint 14 speed limit (0.0860927) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](510.52) - Constraint 13 + Constraint 15 speed limit (0.0927152) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](661.56) - Constraint 14 + Constraint 16 speed limit (0.0993377) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](816.75) - Constraint 15 + Constraint 17 speed limit (0.10596) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](971.51) - Constraint 16 + Constraint 18 speed limit (0.112583) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1121.66) - Constraint 17 + Constraint 19 speed limit (0.119205) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1263.48) - Constraint 18 + Constraint 20 speed limit (0.125828) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1393.66) - Constraint 19 + Constraint 21 speed limit (0.13245) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1509.33) - Constraint 20 + Constraint 22 speed limit (0.139073) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1608.05) - Constraint 21 + Constraint 23 speed limit (0.145695) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1687.81) - Constraint 22 + Constraint 24 speed limit (0.152318) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1747.03) - Constraint 23 + Constraint 25 speed limit (0.15894) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1784.56) - Constraint 24 + Constraint 26 speed limit (0.165563) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1799.68) - Constraint 25 + Constraint 27 speed limit (0.172185) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 26 + Constraint 28 speed limit (0.178808) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 27 + Constraint 29 speed limit (0.18543) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 28 + Constraint 30 speed limit (0.192053) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 29 + Constraint 31 speed limit (0.198675) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 30 + Constraint 32 speed limit (0.205298) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 31 + Constraint 33 speed limit (0.211921) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 32 + Constraint 34 speed limit (0.218543) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 33 + Constraint 35 speed limit (0.225166) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 34 + Constraint 36 speed limit (0.231788) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 35 + Constraint 37 speed limit (0.238411) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 36 + Constraint 38 speed limit (0.245033) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 37 + Constraint 39 speed limit (0.251656) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 38 + Constraint 40 speed limit (0.258278) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 39 + Constraint 41 speed limit (0.264901) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 40 + Constraint 42 speed limit (0.271523) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 41 + Constraint 43 speed limit (0.278146) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 42 + Constraint 44 speed limit (0.284768) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 43 + Constraint 45 speed limit (0.291391) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 44 + Constraint 46 speed limit (0.298013) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 45 + Constraint 47 speed limit (0.304636) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 46 + Constraint 48 speed limit (0.311258) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 47 + Constraint 49 speed limit (0.317881) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 48 + Constraint 50 speed limit (0.324503) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 49 + Constraint 51 speed limit (0.331126) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 50 + Constraint 52 speed limit (0.337748) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 51 + Constraint 53 speed limit (0.344371) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 52 + Constraint 54 speed limit (0.350993) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 53 + Constraint 55 speed limit (0.357616) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 54 + Constraint 56 speed limit (0.364238) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 55 + Constraint 57 speed limit (0.370861) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 56 + Constraint 58 speed limit (0.377483) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 57 + Constraint 59 speed limit (0.384106) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 58 + Constraint 60 speed limit (0.390728) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 59 + Constraint 61 speed limit (0.397351) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 60 + Constraint 62 speed limit (0.403974) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 61 + Constraint 63 speed limit (0.410596) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 62 + Constraint 64 speed limit (0.417219) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 63 + Constraint 65 speed limit (0.423841) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 64 + Constraint 66 speed limit (0.430464) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 65 + Constraint 67 speed limit (0.437086) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 66 + Constraint 68 speed limit (0.443709) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 67 + Constraint 69 speed limit (0.450331) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 68 + Constraint 70 speed limit (0.456954) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 69 + Constraint 71 speed limit (0.463576) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 70 + Constraint 72 speed limit (0.470199) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 71 + Constraint 73 speed limit (0.476821) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 72 + Constraint 74 speed limit (0.483444) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 73 + Constraint 75 speed limit (0.490066) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 74 + Constraint 76 speed limit (0.496689) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 75 + Constraint 77 speed limit (0.503311) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 76 + Constraint 78 speed limit (0.509934) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 77 + Constraint 79 speed limit (0.516556) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 78 + Constraint 80 speed limit (0.523179) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 79 + Constraint 81 speed limit (0.529801) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 80 + Constraint 82 speed limit (0.536424) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 81 + Constraint 83 speed limit (0.543046) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 82 + Constraint 84 speed limit (0.549669) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 83 + Constraint 85 speed limit (0.556291) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 84 + Constraint 86 speed limit (0.562914) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 85 + Constraint 87 speed limit (0.569536) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 86 + Constraint 88 speed limit (0.576159) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 87 + Constraint 89 speed limit (0.582781) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 88 + Constraint 90 speed limit (0.589404) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 89 + Constraint 91 speed limit (0.596026) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 90 + Constraint 92 speed limit (0.602649) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 91 + Constraint 93 speed limit (0.609272) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 92 + Constraint 94 speed limit (0.615894) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 93 + Constraint 95 speed limit (0.622517) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 94 + Constraint 96 speed limit (0.629139) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 95 + Constraint 97 speed limit (0.635762) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 96 + Constraint 98 speed limit (0.642384) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 97 + Constraint 99 speed limit (0.649007) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 98 + Constraint 100 speed limit (0.655629) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 99 + Constraint 101 speed limit (0.662252) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 100 + Constraint 102 speed limit (0.668874) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 101 + Constraint 103 speed limit (0.675497) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 102 + Constraint 104 speed limit (0.682119) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 103 + Constraint 105 speed limit (0.688742) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 104 + Constraint 106 speed limit (0.695364) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 105 + Constraint 107 speed limit (0.701987) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 106 + Constraint 108 speed limit (0.708609) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 107 + Constraint 109 speed limit (0.715232) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 108 + Constraint 110 speed limit (0.721854) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 109 + Constraint 111 speed limit (0.728477) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 110 + Constraint 112 speed limit (0.735099) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 111 + Constraint 113 speed limit (0.741722) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 112 + Constraint 114 speed limit (0.748344) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 113 + Constraint 115 speed limit (0.754967) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 114 + Constraint 116 speed limit (0.761589) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 115 + Constraint 117 speed limit (0.768212) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 116 + Constraint 118 speed limit (0.774834) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 117 + Constraint 119 speed limit (0.781457) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 118 + Constraint 120 speed limit (0.788079) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 119 + Constraint 121 speed limit (0.794702) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 120 + Constraint 122 speed limit (0.801325) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 121 + Constraint 123 speed limit (0.807947) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 122 + Constraint 124 speed limit (0.81457) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 123 + Constraint 125 speed limit (0.821192) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 124 + Constraint 126 speed limit (0.827815) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1800.00) - Constraint 125 + Constraint 127 speed limit (0.834437) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1799.68) - Constraint 126 + Constraint 128 speed limit (0.84106) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1784.56) - Constraint 127 + Constraint 129 speed limit (0.847682) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1747.03) - Constraint 128 + Constraint 130 speed limit (0.854305) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1687.81) - Constraint 129 + Constraint 131 speed limit (0.860927) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1608.05) - Constraint 130 + Constraint 132 speed limit (0.86755) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1509.33) - Constraint 131 + Constraint 133 speed limit (0.874172) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1393.66) - Constraint 132 + Constraint 134 speed limit (0.880795) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1263.48) - Constraint 133 + Constraint 135 speed limit (0.887417) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1121.66) - Constraint 134 + Constraint 136 speed limit (0.89404) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](971.51) - Constraint 135 + Constraint 137 speed limit (0.900662) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](816.75) - Constraint 136 + Constraint 138 speed limit (0.907285) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](661.56) - Constraint 137 + Constraint 139 speed limit (0.913907) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](510.52) - Constraint 138 + Constraint 140 speed limit (0.92053) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](372.18) - Constraint 139 + Constraint 141 speed limit (0.927152) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](262.78) - Constraint 140 + Constraint 142 speed limit (0.933775) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](179.49) - Constraint 141 + Constraint 143 speed limit (0.940397) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](117.76) - Constraint 142 + Constraint 144 speed limit (0.94702) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](73.52) - Constraint 143 + Constraint 145 speed limit (0.953642) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](43.09) - Constraint 144 + Constraint 146 speed limit (0.960265) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](23.26) - Constraint 145 + Constraint 147 speed limit (0.966887) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](11.22) - Constraint 146 + Constraint 148 speed limit (0.97351) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](4.59) - Constraint 147 + Constraint 149 speed limit (0.980132) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](1.45) - Constraint 148 + Constraint 150 speed limit (0.986755) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 Initial value: [1](0.29) - Constraint 149 + Constraint 151 speed limit (0.993377) (derivable function) Bounds: (-inf, 3612.50) Scales: 1.00 @@ -921,6 +937,6 @@ Solver: CFSQP specific variables: Nineq: 150 Nineqn: 150 - Neq: 0 + Neq: 2 Neqn: 0 - CFSQP constraints: (0, 0), (1, 0), (2, 0), (3, 0), (4, 0), (5, 0), (6, 0), (7, 0), (8, 0), (9, 0), (10, 0), (11, 0), (12, 0), (13, 0), (14, 0), (15, 0), (16, 0), (17, 0), (18, 0), (19, 0), (20, 0), (21, 0), (22, 0), (23, 0), (24, 0), (25, 0), (26, 0), (27, 0), (28, 0), (29, 0), (30, 0), (31, 0), (32, 0), (33, 0), (34, 0), (35, 0), (36, 0), (37, 0), (38, 0), (39, 0), (40, 0), (41, 0), (42, 0), (43, 0), (44, 0), (45, 0), (46, 0), (47, 0), (48, 0), (49, 0), (50, 0), (51, 0), (52, 0), (53, 0), (54, 0), (55, 0), (56, 0), (57, 0), (58, 0), (59, 0), (60, 0), (61, 0), (62, 0), (63, 0), (64, 0), (65, 0), (66, 0), (67, 0), (68, 0), (69, 0), (70, 0), (71, 0), (72, 0), (73, 0), (74, 0), (75, 0), (76, 0), (77, 0), (78, 0), (79, 0), (80, 0), (81, 0), (82, 0), (83, 0), (84, 0), (85, 0), (86, 0), (87, 0), (88, 0), (89, 0), (90, 0), (91, 0), (92, 0), (93, 0), (94, 0), (95, 0), (96, 0), (97, 0), (98, 0), (99, 0), (100, 0), (101, 0), (102, 0), (103, 0), (104, 0), (105, 0), (106, 0), (107, 0), (108, 0), (109, 0), (110, 0), (111, 0), (112, 0), (113, 0), (114, 0), (115, 0), (116, 0), (117, 0), (118, 0), (119, 0), (120, 0), (121, 0), (122, 0), (123, 0), (124, 0), (125, 0), (126, 0), (127, 0), (128, 0), (129, 0), (130, 0), (131, 0), (132, 0), (133, 0), (134, 0), (135, 0), (136, 0), (137, 0), (138, 0), (139, 0), (140, 0), (141, 0), (142, 0), (143, 0), (144, 0), (145, 0), (146, 0), (147, 0), (148, 0), (149, 0) + CFSQP constraints: (2, 0), (3, 0), (4, 0), (5, 0), (6, 0), (7, 0), (8, 0), (9, 0), (10, 0), (11, 0), (12, 0), (13, 0), (14, 0), (15, 0), (16, 0), (17, 0), (18, 0), (19, 0), (20, 0), (21, 0), (22, 0), (23, 0), (24, 0), (25, 0), (26, 0), (27, 0), (28, 0), (29, 0), (30, 0), (31, 0), (32, 0), (33, 0), (34, 0), (35, 0), (36, 0), (37, 0), (38, 0), (39, 0), (40, 0), (41, 0), (42, 0), (43, 0), (44, 0), (45, 0), (46, 0), (47, 0), (48, 0), (49, 0), (50, 0), (51, 0), (52, 0), (53, 0), (54, 0), (55, 0), (56, 0), (57, 0), (58, 0), (59, 0), (60, 0), (61, 0), (62, 0), (63, 0), (64, 0), (65, 0), (66, 0), (67, 0), (68, 0), (69, 0), (70, 0), (71, 0), (72, 0), (73, 0), (74, 0), (75, 0), (76, 0), (77, 0), (78, 0), (79, 0), (80, 0), (81, 0), (82, 0), (83, 0), (84, 0), (85, 0), (86, 0), (87, 0), (88, 0), (89, 0), (90, 0), (91, 0), (92, 0), (93, 0), (94, 0), (95, 0), (96, 0), (97, 0), (98, 0), (99, 0), (100, 0), (101, 0), (102, 0), (103, 0), (104, 0), (105, 0), (106, 0), (107, 0), (108, 0), (109, 0), (110, 0), (111, 0), (112, 0), (113, 0), (114, 0), (115, 0), (116, 0), (117, 0), (118, 0), (119, 0), (120, 0), (121, 0), (122, 0), (123, 0), (124, 0), (125, 0), (126, 0), (127, 0), (128, 0), (129, 0), (130, 0), (131, 0), (132, 0), (133, 0), (134, 0), (135, 0), (136, 0), (137, 0), (138, 0), (139, 0), (140, 0), (141, 0), (142, 0), (143, 0), (144, 0), (145, 0), (146, 0), (147, 0), (148, 0), (149, 0), (150, 0), (151, 0), (0, 1), (1, 1) ----------------------------------------------------------------------- Summary of changes: ChangeLog | 11 + include/roboptim/trajectory/cubic-b-spline.hh | 5 +- include/roboptim/trajectory/cubic-b-spline.hxx | 98 +++----- tests/spline-optimization.cc | 66 +++--- tests/spline-optimization.stdout | 212 +++++++++------- tests/spline-time-optimization.cc | 11 +- tests/spline-time-optimization.stdout | 322 +++++++++++++----------- 7 files changed, 369 insertions(+), 356 deletions(-) hooks/post-receive -- roboptim-trajectory ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ roboptim-commit mailing list roboptim-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/roboptim-commit