Contents

Demonstrate 3D optimization.

You can select an Earth to Mars mission or a Solar Polar Imager mission. You can pick either dimensional units or nondimensional units. Try either Simplex or genetic algorithms.

Functions demonstrated:

TrajectoryOptimization
LambdaToConeClock3D
RHSOpt3DOrbit
Plot3DTrajectory
Cost3D
------------------------------------------------------------------------
See also Constant, IsVersionAfter, Planets, ElToMEq, TimeDisplay,
TrajectoryOptimization, LambdaToConeClock3D, Plot3DTrajectory,
RHSOpt3DOrbit, Cost3D
------------------------------------------------------------------------
%-------------------------------------------------------------------------------
%   Copyright (c) 2005-2006 Princeton Satellite Systems, Inc.
%   All rights reserved.
%-------------------------------------------------------------------------------
%   Since version 7.
%-------------------------------------------------------------------------------

%%%%%%%%%%%%%%%%%%%%%
% User parameters
%%%%%%%%%%%%%%%%%%%%%
mission    = 'elements'; % 'elements' 'planet name', 'spi', 'inclination'
nonDim     =  0; % = 1 for nondimensional parameters, mu = 1, normalize position to 1 au
method     = 'downhill simplex'; % 'downhill simplex' or 'genetic algorithm'
% Also see below for many more parameters.
%%%%%%%%%%%%%%%%%%%%%

Constants

%----------
aU         = Constant('au');
c          = Constant('speed of light');
muSun      = Constant('mu sun');

Mission set up

%---------------
% general purpose setup for 'elements' mission:
el0        =  [    aU;0;0;0;0.0;0];
elF        =  [1.5*aU;0;0;0;0.0;0];

Sail physical parameters

%-------------------------
sailArea   = 1e4;
sailMass   = 100;
sailRhoS   = 1.0;
sailRhoAD  = 0.0;
sailRhoR   = 0.0;
duration   = 420; % days, 420 good for pure planar and 10 deg inclination change

Cost function weighting

%------------------------
% [1;1e8;1e8;4e8;4e8;0.9e9];, Best results planar with simplex
% [10;2e9;2e9;1e8;1e8;0.9e9];, Best results inclination with simplex
% This weighting is for the 1 aU to 1.5 aU circular orbit transfer problem
% No e error, i < 0.1 deg, no a error
optimizationErrorWeighting = [1;1e8;1e8;4e8;4e8;0.9e9];

ode113 parameters

%------------------
integrationRelativeTolerance = 1e-2;
integrationAbsoluteTolerance = 1e-2;

Optimization parameters

%------------------------
d.method         = method;
d.repeat         = 0;

Simplex parameters

%-------------------
d.d.stateTol     = 1e-2;
d.d.funTol       = 1e-2;
d.d.nIts         = 2000;

GA parameters

%--------------
d.d.nG = 50;   % generations
d.d.nI = 10;  % Note: need to scale # mutations and # gen with # individuals.
d.d.bounds = [-1 1; -1 1; -1 1; -1 1; -1 1; -1 1];
if IsVersionAfter(6.0)
  eval('fncSelect = @normGeomSelect;fncXOver = @heuristicXover;fncMutate = @nonUnifMutation;');
else
  fncSelect = 'normGeomSelect';
  fncMutate = 'nonUnifMutation';
  fncXOver = 'heuristicXover';
end
d.d.fncMutate = fncMutate;
d.d.optMutate = [floor(d.d.nI/2) d.d.nG 3];  % # mutations, last gen, sigma
d.d.fncSelect = fncSelect;
d.d.optSelect = [0.01]; % %chance that a solution is the best
d.d.fncXOver  = fncXOver;
d.d.optXOver  = [floor(d.d.nI/2) 3]; % # crossovers, # retries

switch method
  case 'downhill simplex'
    nSteps = d.d.nIts;
  case 'genetic algorithm'
    nSteps = d.d.nG*(2*sum(d.d.optXOver)+d.d.optMutate(1)) + d.d.nI;
end

Costate to sail angle function

%-------------------------------
if IsVersionAfter(6.0)
  eval('d.d.lambdaToAccel = @LambdaToConeClock3D;');
else
  d.d.lambdaToAccel = 'LambdaToConeClock3D';
end

On the next pass use the newly computed lambda as the first guess

%------------------------------------------------------------------
d.d.mu           = muSun;

Acceleration

%-------------
d.d.accel         = sailArea*1367*aU^2*1e-6/(c*sailMass); % km/sec^2

Data for selected mission

%--------------------------
switch mission
  case 'elements'
    d.d.xF             = ElToMEq(  elF, d.d.mu );
    d.d.x0             = ElToMEq(  el0, d.d.mu );
    a0                 = el0(1);
    d.d.iF             = elF(2);
  case 'spi'
    [name,a,e,i,W,w,L] = Planets('rad',3); % Earth
    a                  = a*aU;
    d.d.x0             = ElToMEq( [a(1,1);i(1,1);W(1,1);w(1,1);e(1,1);L(1,1)], d.d.mu );
    a0                 = a(1,1);
    a(1,1)             = 0.48*aU;
    i(1,1)             = 70*pi/180;
    d.d.xF             = ElToMEq( [a(1,1);i(1,1);W(1,1);w(1,1);e(1,1);L(1,1)], d.d.mu );
    d.d.iF             = i(1,1); % Final inclination
  case 'spimini'
    [name,a,e,i,W,w,L] = Planets('rad',3); % Earth
    a                  = a*aU;
    d.d.x0             = ElToMEq( [a(1,1);i(1,1);W(1,1);w(1,1);e(1,1);L(1,1)], d.d.mu );
    a0                 = a(1,1);
    a(1,1)             = 0.9*aU;
    i(1,1)             = 7*pi/180;
    d.d.xF             = ElToMEq( [a(1,1);i(1,1);W(1,1);w(1,1);e(1,1);L(1,1)], d.d.mu );
    d.d.iF             = i(1,1); % Final inclination
  otherwise
    [~,a,e,i,W,w,L]    = Planets('rad',3); % Earth
    a                  = a*aU;
    d.d.x0             = ElToMEq( [a(1,1);i(1,1);W(1,1);w(1,1);e(1,1);L(1,1)], d.d.mu );
    [name,a,e,i,W,w,L] = Planets('rad',mission);
    a                  = a*aU;
    a0                 = a(1,1);
    d.d.xF             = ElToMEq( [a(1,1);i(1,1);W(1,1);w(1,1);e(1,1);L(1,1)], d.d.mu );
    d.d.iF             = i(1,1); % Final inclination
end
d.d.xF(6) = 0; % Lambda for state 6 must be zero

Dynamics function

%------------------
d.d.rhsFun       = 'RHSOpt3DOrbit';
d.d.plotFun      = 'Plot3DTrajectory';
d.d.coordType    = 'equinoctial'; % 'cartesian'
d.d.boundCond    = [1:5 12];
d.d.hasThruster  = false;
d.d.rhoS         = sailRhoS;
d.d.rhoAD        = sailRhoAD;
d.d.rhoR         = sailRhoR;

TimeDisplay('initialize','Sail 3D Optimization', nSteps );

Cost function called by optimizer

%----------------------------------
if IsVersionAfter(6.0)
  eval('d.d.costFun = @Cost3D;');
else
  d.d.costFun      = 'Cost3D';
end

Initial costate guess

%----------------------
d.d.lambda0      = [0.0;0;0;0.0025;0.0025;0.00];

Integration (ode113) parameters

%--------------------------------
d.d.data.absTol  = integrationAbsoluteTolerance;
d.d.data.relTol  = integrationRelativeTolerance;
d.d.data.maxStep = 1; % ode113 will never take a step bigger than this
                      % fraction of the end time
d.d.tEnd         = duration*86400; % (s)

If nondimensionalize

%---------------------
d.d.nonDim = nonDim;
if( nonDim )
  w0          = sqrt(d.d.mu/a0^3);
  d.d.accel   = d.d.accel/(w0^2*a0)/aU^2;
  d.d.tEnd    = d.d.tEnd*w0;
  d.d.x0(1,1) = d.d.x0(1,1)/a0;
  d.d.xF(1,1) = d.d.xF(1,1)/a0;
  d.d.mu      = 1;
  d.d.w0      = w0;
  d.d.a0      = a0;
end

Weights for the costates

%-------------------------
d.d.errorScale   = optimizationErrorWeighting;

Optimize the trajectory.

It will use Plot3DTrajectory to plot the results

%-------------------------------------------------------
TrajectoryOptimization( d );

TimeDisplay('close' );


%--------------------------------------
Case 1: Method: downhill simplex
 
 Iteration   Func-count     min f(x)         Procedure
     0            1      1.24557e+08         
     1            7      1.21068e+08         initial simplex
     2            9      1.21068e+08         contract outside
     3           11      1.21068e+08         contract inside
     4           13      1.21068e+08         contract inside
     5           15      1.21068e+08         contract inside
     6           17      1.21068e+08         contract inside
     7           19      1.21068e+08         contract inside
     8           21      1.21068e+08         contract inside
     9           23      1.21068e+08         contract inside
    10           25      1.21068e+08         contract inside
    11           27      1.21068e+08         contract inside
    12           29      1.21068e+08         contract inside
    13           31      1.21068e+08         contract inside
    14           33      1.21068e+08         contract inside
    15           35      1.21068e+08         contract inside
    16           37      1.21068e+08         contract inside
    17           39      1.21068e+08         contract inside
    18           41      1.21068e+08         contract inside
    19           43      1.21068e+08         contract inside
    20           45      1.21068e+08         contract inside
    21           47      7.49038e+07         reflect
    22           49      7.49038e+07         contract inside
    23           51       6.8338e+07         reflect
    24           52       6.8338e+07         reflect
    25           53       6.8338e+07         reflect
    26           55      5.36678e+07         contract inside
    27           57      5.36678e+07         contract outside
    28           59      3.90157e+07         expand
    29           60      3.90157e+07         reflect
    30           62      3.90157e+07         contract inside
Warning: Failure at t=3.628224e+07.  Unable to meet integration tolerances
without reducing the step size below the smallest value allowed (1.192093e-07)
at time t. 
    31           64      3.90056e+07         reflect
    32           66      2.81028e+07         reflect
    33           68      2.81028e+07         contract inside
Warning: Failure at t=3.593226e+07.  Unable to meet integration tolerances
without reducing the step size below the smallest value allowed (1.192093e-07)
at time t. 
    34           70      2.81028e+07         contract inside
    35           72      2.81028e+07         contract inside
    36           74      2.81028e+07         contract inside
Warning: Failure at t=3.558291e+07.  Unable to meet integration tolerances
without reducing the step size below the smallest value allowed (1.192093e-07)
at time t. 
    37           76      2.42802e+07         reflect
    38           77      2.42802e+07         reflect
    39           79      2.42802e+07         contract inside
    40           81      2.42802e+07         contract outside
    41           83      2.42802e+07         contract inside
    42           84      2.42802e+07         reflect
    43           86      2.42802e+07         contract inside
    44           87      2.42802e+07         reflect
    45           89      2.42802e+07         contract inside
    46           91      2.42802e+07         contract inside
    47           93      2.42802e+07         contract inside
    48           94      2.42802e+07         reflect
    49           96      2.42802e+07         contract inside
    50           98      2.27831e+07         reflect
    51          100      2.27831e+07         contract inside
    52          102      2.14294e+07         reflect
    53          104      2.14294e+07         contract inside
    54          106      2.14294e+07         contract inside
    55          108      2.10394e+07         reflect
    56          110      2.10394e+07         contract inside
    57          112      2.10394e+07         contract inside
    58          114      2.09488e+07         contract inside
    59          116      2.00196e+07         reflect
    60          118      2.00196e+07         contract inside
    61          120      2.00196e+07         contract inside
    62          121      2.00196e+07         reflect
    63          123      2.00196e+07         contract inside
    64          125      2.00196e+07         contract outside
    65          127      1.98875e+07         reflect
    66          129      1.90973e+07         reflect
    67          130      1.90973e+07         reflect
    68          132      1.83049e+07         expand
    69          133      1.83049e+07         reflect
    70          134      1.83049e+07         reflect
    71          135      1.83049e+07         reflect
    72          136      1.83049e+07         reflect
    73          138      1.77753e+07         reflect
    74          139      1.77753e+07         reflect
    75          141      1.77753e+07         contract inside
    76          143      1.61842e+07         expand
    77          144      1.61842e+07         reflect
    78          145      1.61842e+07         reflect
    79          147      1.61842e+07         contract outside
    80          149      1.49275e+07         expand
    81          150      1.49275e+07         reflect
    82          151      1.49275e+07         reflect
    83          152      1.49275e+07         reflect
    84          153      1.49275e+07         reflect
    85          155       1.4445e+07         reflect
    86          157      1.30765e+07         expand
    87          158      1.30765e+07         reflect
    88          159      1.30765e+07         reflect
    89          160      1.30765e+07         reflect
    90          162      1.18512e+07         expand
    91          164      1.03799e+07         expand
    92          165      1.03799e+07         reflect
    93          166      1.03799e+07         reflect
    94          167      1.03799e+07         reflect
    95          169      9.16122e+06         expand
    96          170      9.16122e+06         reflect
    97          171      9.16122e+06         reflect
    98          173      8.49344e+06         reflect
    99          174      8.49344e+06         reflect
   100          176      6.80002e+06         expand
   101          177      6.80002e+06         reflect
   102          178      6.80002e+06         reflect
   103          179      6.80002e+06         reflect
   104          180      6.80002e+06         reflect
   105          182      6.45682e+06         reflect
   106          184      6.38238e+06         reflect
   107          185      6.38238e+06         reflect
   108          186      6.38238e+06         reflect
   109          188      6.38238e+06         contract inside
   110          190      6.32573e+06         reflect
   111          192      6.11212e+06         expand
   112          193      6.11212e+06         reflect
   113          194      6.11212e+06         reflect
   114          196      6.07092e+06         reflect
   115          197      6.07092e+06         reflect
   116          198      6.07092e+06         reflect
   117          200      6.07092e+06         contract inside
   118          201      6.07092e+06         reflect
   119          202      6.07092e+06         reflect
   120          204      6.06351e+06         contract outside
   121          206      6.06069e+06         contract inside
   122          208      6.06069e+06         contract inside
   123          209      6.06069e+06         reflect
   124          210      6.06069e+06         reflect
   125          218      6.04915e+06         shrink
   126          220      6.04915e+06         contract inside
   127          221      6.04915e+06         reflect
   128          223      6.04915e+06         contract inside
   129          224      6.04915e+06         reflect
   130          226      6.04502e+06         reflect
   131          228      6.04502e+06         contract inside
   132          229      6.04502e+06         reflect
   133          230      6.04502e+06         reflect
   134          231      6.04502e+06         reflect
   135          233      6.04502e+06         contract inside
   136          235      6.04502e+06         contract inside
   137          237      6.04502e+06         contract outside
   138          238      6.04502e+06         reflect
   139          239      6.04502e+06         reflect
   140          241      6.04436e+06         contract inside
   141          243       6.0438e+06         contract inside
   142          245      6.04327e+06         contract inside
   143          247      6.04327e+06         contract inside
   144          248      6.04327e+06         reflect
   145          250      6.04327e+06         contract inside
   146          252      6.04327e+06         contract inside
   147          254      6.04087e+06         expand
   148          255      6.04087e+06         reflect
   149          256      6.04087e+06         reflect
   150          257      6.04087e+06         reflect
   151          258      6.04087e+06         reflect
   152          259      6.04087e+06         reflect
   153          260      6.04087e+06         reflect
   154          262      6.03965e+06         expand
   155          264        6.039e+06         expand
   156          265        6.039e+06         reflect
   157          267      6.03812e+06         reflect
   158          268      6.03812e+06         reflect
   159          270      6.03442e+06         expand
   160          271      6.03442e+06         reflect
   161          273      6.03206e+06         expand
   162          274      6.03206e+06         reflect
   163          276      6.03077e+06         expand
   164          278      6.02324e+06         expand
   165          279      6.02324e+06         reflect
   166          280      6.02324e+06         reflect
   167          281      6.02324e+06         reflect
   168          283      6.00822e+06         expand
   169          284      6.00822e+06         reflect
   170          285      6.00822e+06         reflect
   171          287      5.99776e+06         expand
   172          289      5.98622e+06         expand
   173          290      5.98622e+06         reflect
   174          292      5.96998e+06         expand
   175          293      5.96998e+06         reflect
   176          295      5.95572e+06         expand
   177          297      5.92612e+06         expand
   178          299      5.89175e+06         expand
   179          300      5.89175e+06         reflect
   180          301      5.89175e+06         reflect
   181          302      5.89175e+06         reflect
   182          303      5.89175e+06         reflect
   183          304      5.89175e+06         reflect
   184          306       5.8203e+06         expand
   185          307       5.8203e+06         reflect
   186          308       5.8203e+06         reflect
   187          309       5.8203e+06         reflect
   188          311      5.71936e+06         expand
   189          312      5.71936e+06         reflect
   190          313      5.71936e+06         reflect
   191          314      5.71936e+06         reflect
   192          316      5.60573e+06         expand
   193          317      5.60573e+06         reflect
   194          319      5.46873e+06         expand
   195          320      5.46873e+06         reflect
   196          321      5.46873e+06         reflect
   197          323      5.31307e+06         expand
   198          325      5.13465e+06         expand
   199          327      4.90193e+06         expand
   200          328      4.90193e+06         reflect
   201          329      4.90193e+06         reflect
   202          330      4.90193e+06         reflect
   203          331      4.90193e+06         reflect
   204          333      4.63631e+06         reflect
   205          334      4.63631e+06         reflect
   206          335      4.63631e+06         reflect
   207          336      4.63631e+06         reflect
   208          338      4.63631e+06         contract inside
   209          339      4.63631e+06         reflect
   210          341      4.35285e+06         expand
   211          343      4.35285e+06         contract inside
   212          344      4.35285e+06         reflect
   213          345      4.35285e+06         reflect
   214          346      4.35285e+06         reflect
   215          348      4.19434e+06         expand
   216          349      4.19434e+06         reflect
   217          350      4.19434e+06         reflect
   218          352      4.05231e+06         reflect
   219          354      4.05231e+06         contract inside
   220          355      4.05231e+06         reflect
   221          356      4.05231e+06         reflect
   222          358        4.011e+06         reflect
   223          359        4.011e+06         reflect
   224          361        4.011e+06         contract outside
   225          363      3.88934e+06         reflect
   226          364      3.88934e+06         reflect
   227          366      3.88934e+06         contract inside
   228          368      3.88934e+06         contract inside
   229          370      3.88934e+06         contract inside
   230          371      3.88934e+06         reflect
   231          373      3.86667e+06         reflect
   232          374      3.86667e+06         reflect
   233          376      3.80244e+06         expand
   234          377      3.80244e+06         reflect
   235          378      3.80244e+06         reflect
   236          380      3.80244e+06         contract inside
   237          381      3.80244e+06         reflect
   238          382      3.80244e+06         reflect
   239          384      3.80244e+06         contract inside
   240          386      3.80244e+06         contract inside
   241          388      3.70391e+06         expand
   242          389      3.70391e+06         reflect
   243          390      3.70391e+06         reflect
   244          392      3.69962e+06         reflect
   245          393      3.69962e+06         reflect
   246          394      3.69962e+06         reflect
   247          396      3.65342e+06         reflect
   248          398      3.65342e+06         contract outside
   249          400      3.65342e+06         contract inside
   250          401      3.65342e+06         reflect
   251          402      3.65342e+06         reflect
   252          404      3.62248e+06         reflect
   253          405      3.62248e+06         reflect
   254          406      3.62248e+06         reflect
   255          408      3.62248e+06         contract inside
   256          410      3.62248e+06         contract inside
   257          412      3.62248e+06         contract inside
   258          414      3.62248e+06         contract inside
   259          415      3.62248e+06         reflect
   260          417      3.62248e+06         contract inside
   261          418      3.62248e+06         reflect
   262          420      3.62248e+06         contract inside
   263          422      3.62234e+06         contract outside
   264          424      3.61998e+06         contract inside
   265          426      3.61996e+06         contract inside
   266          428      3.61775e+06         reflect
   267          430      3.61775e+06         contract inside
   268          432      3.61775e+06         contract outside
   269          433      3.61775e+06         reflect
   270          435       3.6162e+06         reflect
   271          437       3.6162e+06         contract inside
   272          439       3.6162e+06         contract outside
   273          440       3.6162e+06         reflect
   274          442       3.6162e+06         contract inside
   275          444       3.6162e+06         contract inside
   276          445       3.6162e+06         reflect
   277          447       3.6162e+06         contract inside
   278          449       3.6162e+06         contract inside
   279          450       3.6162e+06         reflect
   280          451       3.6162e+06         reflect
   281          453       3.6162e+06         contract inside
   282          454       3.6162e+06         reflect
   283          456       3.6162e+06         contract inside
   284          457       3.6162e+06         reflect
   285          459       3.6162e+06         contract inside
   286          460       3.6162e+06         reflect
   287          462      3.61615e+06         contract inside
   288          464      3.61596e+06         reflect
   289          466      3.61596e+06         contract outside
   290          468      3.61596e+06         contract inside
   291          470      3.61596e+06         contract inside
   292          472      3.61595e+06         reflect
   293          473      3.61595e+06         reflect
   294          474      3.61595e+06         reflect
   295          475      3.61595e+06         reflect
   296          476      3.61595e+06         reflect
   297          478      3.61595e+06         contract inside
   298          480      3.61594e+06         reflect
   299          481      3.61594e+06         reflect
   300          483      3.61588e+06         reflect
   301          485      3.61588e+06         contract inside
   302          493      3.61588e+06         shrink
   303          494      3.61588e+06         reflect
   304          495      3.61588e+06         reflect
   305          497      3.61588e+06         reflect
   306          499      3.61588e+06         contract inside
   307          501      3.61588e+06         contract inside
   308          503      3.61588e+06         contract inside
   309          504      3.61588e+06         reflect
   310          506      3.61588e+06         contract inside
   311          514      3.61588e+06         shrink
   312          516      3.61584e+06         expand
   313          517      3.61584e+06         reflect
   314          518      3.61584e+06         reflect
   315          519      3.61584e+06         reflect
   316          520      3.61584e+06         reflect
   317          521      3.61584e+06         reflect
   318          522      3.61584e+06         reflect
   319          524      3.61579e+06         reflect
   320          525      3.61579e+06         reflect
   321          533      3.61579e+06         shrink
   322          534      3.61579e+06         reflect
   323          535      3.61579e+06         reflect
   324          537      3.61579e+06         contract inside
   325          539      3.61579e+06         contract inside
   326          540      3.61579e+06         reflect
   327          548      3.61579e+06         shrink
   328          549      3.61579e+06         reflect
   329          551      3.61579e+06         contract inside
   330          559      3.61579e+06         shrink
   331          560      3.61579e+06         reflect
   332          561      3.61579e+06         reflect
   333          562      3.61579e+06         reflect
   334          564      3.61579e+06         contract inside
   335          572      3.61579e+06         shrink
   336          574      3.61579e+06         contract outside
   337          576      3.61579e+06         contract inside
   338          577      3.61579e+06         reflect
   339          578      3.61579e+06         reflect
   340          580      3.61579e+06         contract inside
   341          582      3.61579e+06         contract inside
   342          584      3.61579e+06         contract inside
   343          592      3.61579e+06         shrink
   344          594      3.61577e+06         reflect
   345          596      3.61577e+06         contract inside
   346          597      3.61577e+06         reflect
   347          605      3.61577e+06         shrink
   348          606      3.61577e+06         reflect
   349          614      3.61577e+06         shrink
   350          615      3.61577e+06         reflect
   351          616      3.61577e+06         reflect
   352          617      3.61577e+06         reflect
   353          619      3.61577e+06         contract inside
   354          627      3.61575e+06         shrink
   355          628      3.61575e+06         reflect
   356          630      3.61575e+06         contract inside
   357          638      3.61575e+06         shrink
   358          639      3.61575e+06         reflect
   359          640      3.61575e+06         reflect
   360          641      3.61575e+06         reflect
   361          642      3.61575e+06         reflect
   362          644      3.61575e+06         contract inside
   363          646      3.61575e+06         contract inside
   364          647      3.61575e+06         reflect
   365          649      3.61575e+06         contract inside
   366          651      3.61575e+06         contract inside
   367          659      3.61575e+06         shrink
   368          661      3.61575e+06         contract inside
   369          662      3.61575e+06         reflect
   370          663      3.61575e+06         reflect
   371          671      3.61575e+06         shrink
   372          672      3.61575e+06         reflect
   373          680      3.61575e+06         shrink
   374          681      3.61575e+06         reflect
   375          683      3.61575e+06         contract inside
   376          684      3.61575e+06         reflect
   377          686      3.61575e+06         reflect
   378          687      3.61575e+06         reflect
   379          695      3.61575e+06         shrink
   380          696      3.61575e+06         reflect
   381          698      3.61575e+06         contract inside
   382          699      3.61575e+06         reflect
   383          707      3.61575e+06         shrink
   384          709      3.61575e+06         contract inside
   385          711      3.61575e+06         contract inside
   386          713      3.61574e+06         reflect
   387          721      3.61574e+06         shrink
   388          722      3.61574e+06         reflect
   389          723      3.61574e+06         reflect
   390          724      3.61574e+06         reflect
   391          732      3.61574e+06         shrink
   392          733      3.61574e+06         reflect
   393          734      3.61574e+06         reflect
   394          735      3.61574e+06         reflect
   395          743      3.61574e+06         shrink
   396          745      3.61574e+06         contract inside
   397          747      3.61574e+06         contract outside
   398          748      3.61574e+06         reflect
   399          749      3.61574e+06         reflect
   400          750      3.61574e+06         reflect
   401          758      3.61574e+06         shrink
   402          766      3.61574e+06         shrink
   403          774      3.61574e+06         shrink
   404          775      3.61574e+06         reflect
   405          777      3.61574e+06         contract outside
   406          778      3.61574e+06         reflect
   407          786      3.61574e+06         shrink
   408          787      3.61574e+06         reflect
   409          788      3.61574e+06         reflect
   410          789      3.61574e+06         reflect
   411          791      3.61574e+06         contract inside
   412          793      3.61574e+06         contract inside
   413          794      3.61574e+06         reflect
   414          802      3.61574e+06         shrink
   415          804      3.61574e+06         contract outside
   416          805      3.61574e+06         reflect
   417          807      3.61574e+06         contract inside
   418          815      3.61574e+06         shrink
   419          816      3.61574e+06         reflect
   420          818      3.61574e+06         contract outside
   421          826      3.61574e+06         shrink
   422          827      3.61574e+06         reflect
   423          828      3.61574e+06         reflect
   424          829      3.61574e+06         reflect
   425          831      3.61574e+06         contract inside
   426          833      3.61574e+06         contract inside
   427          835      3.61574e+06         contract inside
   428          836      3.61574e+06         reflect
   429          838      3.61574e+06         contract inside
   430          840      3.61574e+06         contract inside
   431          842      3.61574e+06         contract inside
   432          844      3.61574e+06         contract inside
   433          852      3.61574e+06         shrink
   434          853      3.61574e+06         reflect
   435          861      3.61574e+06         shrink
   436          862      3.61574e+06         reflect
   437          870      3.61574e+06         shrink
   438          872      3.61574e+06         contract outside
   439          873      3.61574e+06         reflect
   440          874      3.61574e+06         reflect
   441          875      3.61574e+06         reflect
   442          876      3.61574e+06         reflect
   443          884      3.61574e+06         shrink
   444          885      3.61574e+06         reflect
   445          887      3.61574e+06         contract inside
   446          888      3.61574e+06         reflect
   447          896      3.61574e+06         shrink
   448          898      3.61574e+06         contract inside
   449          906      3.61574e+06         shrink
   450          907      3.61574e+06         reflect
   451          909      3.61574e+06         contract inside
   452          911      3.61574e+06         contract inside
   453          912      3.61574e+06         reflect
   454          913      3.61574e+06         reflect
   455          915      3.61574e+06         contract inside
   456          923      3.61574e+06         shrink
   457          924      3.61574e+06         reflect
   458          925      3.61574e+06         reflect
   459          927      3.61574e+06         contract inside
   460          935      3.61574e+06         shrink
   461          936      3.61574e+06         reflect
   462          944      3.61574e+06         shrink
   463          945      3.61574e+06         reflect
   464          947      3.61573e+06         reflect
   465          948      3.61573e+06         reflect
   466          950      3.61572e+06         reflect
   467          958      3.61572e+06         shrink
   468          960      3.61572e+06         contract inside
   469          962      3.61572e+06         reflect
   470          964      3.61572e+06         contract inside
   471          966      3.61572e+06         contract inside
   472          974      3.61572e+06         shrink
   473          975      3.61572e+06         reflect
   474          977      3.61572e+06         contract outside
   475          978      3.61572e+06         reflect
   476          979      3.61572e+06         reflect
   477          981      3.61572e+06         contract inside
   478          983      3.61572e+06         reflect
   479          984      3.61572e+06         reflect
   480          992      3.61572e+06         shrink
   481          994      3.61572e+06         contract outside
   482          995      3.61572e+06         reflect
   483         1003      3.61572e+06         shrink
   484         1005      3.61572e+06         reflect
   485         1007      3.61572e+06         contract inside
   486         1008      3.61572e+06         reflect
   487         1009      3.61572e+06         reflect
   488         1011      3.61572e+06         contract outside
   489         1012      3.61572e+06         reflect
   490         1014      3.61572e+06         contract inside
   491         1015      3.61572e+06         reflect
   492         1023      3.61572e+06         shrink
   493         1024      3.61572e+06         reflect
   494         1025      3.61572e+06         reflect
   495         1026      3.61572e+06         reflect
   496         1027      3.61572e+06         reflect
   497         1028      3.61572e+06         reflect
   498         1029      3.61572e+06         reflect
   499         1030      3.61572e+06         reflect
   500         1031      3.61572e+06         reflect
   501         1033      3.61572e+06         contract inside
   502         1034      3.61572e+06         reflect
   503         1035      3.61572e+06         reflect
   504         1036      3.61572e+06         reflect
   505         1037      3.61572e+06         reflect
   506         1038      3.61572e+06         reflect
   507         1046      3.61572e+06         shrink
   508         1054      3.61572e+06         shrink
   509         1056      3.61572e+06         contract inside
   510         1058      3.61572e+06         contract inside
   511         1060      3.61572e+06         contract inside
   512         1062      3.61572e+06         contract inside
   513         1064      3.61572e+06         contract inside
   514         1066      3.61572e+06         contract inside
   515         1074      3.61572e+06         shrink
   516         1082      3.61572e+06         shrink
   517         1090      3.61572e+06         shrink
   518         1098      3.61572e+06         shrink
   519         1106      3.61572e+06         shrink
   520         1114      3.61572e+06         shrink
   521         1122      3.61572e+06         shrink
   522         1130      3.61572e+06         shrink
   523         1138      3.61572e+06         shrink
   524         1146      3.61572e+06         shrink
   525         1154      3.61572e+06         shrink
   526         1162      3.61572e+06         shrink
   527         1170      3.61572e+06         shrink
   528         1178      3.61572e+06         shrink
   529         1186      3.61572e+06         shrink
   530         1194      3.61572e+06         shrink
   531         1202      3.61572e+06         shrink
   532         1210      3.61572e+06         shrink
   533         1218      3.61572e+06         shrink
   534         1226      3.61572e+06         shrink
   535         1234      3.61572e+06         shrink
   536         1242      3.61572e+06         shrink
   537         1250      3.61572e+06         shrink
   538         1258      3.61572e+06         shrink
   539         1266      3.61572e+06         shrink
   540         1274      3.61572e+06         shrink
   541         1282      3.61572e+06         shrink
   542         1290      3.61572e+06         shrink
   543         1298      3.61572e+06         shrink
   544         1306      3.61572e+06         shrink
   545         1314      3.61572e+06         shrink
   546         1322      3.61572e+06         shrink
   547         1330      3.61572e+06         shrink
   548         1338      3.61572e+06         shrink
   549         1346      3.61572e+06         shrink
   550         1354      3.61572e+06         shrink
   551         1362      3.61572e+06         shrink
   552         1370      3.61572e+06         shrink
   553         1378      3.61572e+06         shrink
   554         1386      3.61572e+06         shrink
   555         1394      3.61572e+06         shrink
   556         1402      3.61572e+06         shrink
   557         1410      3.61572e+06         shrink
   558         1418      3.61572e+06         shrink
   559         1426      3.61572e+06         shrink
   560         1434      3.61572e+06         shrink
   561         1442      3.61572e+06         shrink
   562         1450      3.61572e+06         shrink
   563         1458      3.61572e+06         shrink
   564         1466      3.61572e+06         shrink
   565         1474      3.61572e+06         shrink
   566         1482      3.61572e+06         shrink
   567         1490      3.61572e+06         shrink
   568         1498      3.61572e+06         shrink
   569         1506      3.61572e+06         shrink
   570         1514      3.61572e+06         shrink
   571         1522      3.61572e+06         shrink
   572         1530      3.61572e+06         shrink
   573         1538      3.61572e+06         shrink
   574         1546      3.61572e+06         shrink
   575         1554      3.61572e+06         shrink
   576         1562      3.61572e+06         shrink
   577         1570      3.61572e+06         shrink
   578         1578      3.61572e+06         shrink
   579         1586      3.61572e+06         shrink
   580         1594      3.61572e+06         shrink
   581         1602      3.61572e+06         shrink
   582         1610      3.61572e+06         shrink
   583         1618      3.61572e+06         shrink
   584         1626      3.61572e+06         shrink
   585         1634      3.61572e+06         shrink
   586         1642      3.61572e+06         shrink
   587         1650      3.61572e+06         shrink
   588         1658      3.61572e+06         shrink
   589         1666      3.61572e+06         shrink
   590         1674      3.61572e+06         shrink
   591         1682      3.61572e+06         shrink
   592         1690      3.61572e+06         shrink
   593         1698      3.61572e+06         shrink
   594         1706      3.61572e+06         shrink
   595         1714      3.61572e+06         shrink
   596         1722      3.61572e+06         shrink
   597         1730      3.61572e+06         shrink
   598         1738      3.61572e+06         shrink
   599         1746      3.61572e+06         shrink
   600         1754      3.61572e+06         shrink
   601         1762      3.61572e+06         shrink
   602         1770      3.61572e+06         shrink
   603         1778      3.61572e+06         shrink
   604         1786      3.61572e+06         shrink
   605         1794      3.61572e+06         shrink
   606         1802      3.61572e+06         shrink
   607         1810      3.61572e+06         shrink
   608         1818      3.61572e+06         shrink
   609         1826      3.61572e+06         shrink
   610         1834      3.61572e+06         shrink
   611         1842      3.61572e+06         shrink
   612         1850      3.61572e+06         shrink
   613         1858      3.61572e+06         shrink
   614         1866      3.61572e+06         shrink
   615         1874      3.61572e+06         shrink
   616         1882      3.61572e+06         shrink
   617         1890      3.61572e+06         shrink
   618         1898      3.61572e+06         shrink
   619         1906      3.61572e+06         shrink
   620         1914      3.61572e+06         shrink
   621         1922      3.61572e+06         shrink
   622         1930      3.61572e+06         shrink
   623         1938      3.61572e+06         shrink
   624         1946      3.61572e+06         shrink
   625         1954      3.61572e+06         shrink
   626         1962      3.61572e+06         shrink
   627         1970      3.61572e+06         shrink
   628         1978      3.61572e+06         shrink
   629         1986      3.61572e+06         shrink
   630         1994      3.61572e+06         shrink
   631         2002      3.61572e+06         shrink
 
Exiting: Maximum number of function evaluations has been exceeded
         - increase MaxFunEvals option.
         Current function value: 3615717.104302