-
Notifications
You must be signed in to change notification settings - Fork 109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding ability to reduce the amount of text printed when displaying optimization results #395
Conversation
When minimal_print it True, only variables and constraints with a non-empty status (for example a violated bound)
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #395 +/- ##
===========================================
- Coverage 74.10% 62.81% -11.30%
===========================================
Files 22 22
Lines 3290 3294 +4
===========================================
- Hits 2438 2069 -369
- Misses 852 1225 +373 ☔ View full report in Codecov by Sentry. |
I'm okay with this change, however I would prefer a slightly different implementation (that does not introduce additional class attributes).
That way, the logic for how you want to format this string can be separated from the rest of the class, and we can add/alter this logic in the future without changing the class itself. |
Thanks for the feedback, I just noticed that I forgot to push the version that set the default to False (I had it as true while I was testing some things) |
I'm confused by the change in coverage of these files: https://app.codecov.io/gh/mdolab/pyoptsparse/pull/395/indirect-changes |
SNOPT is not tested on PRs from forks because the code is not open source. The coverage on this PR does not reflect the actual coverage. |
Thank you, so I don't need to worry about the failing test here, correct? |
Yes, that's right.
Can you update the PR description and testing sections to reflect the new changes? It would also be good if you could add examples of the output with and without the minimal printing. |
Thank you for the feedback. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One other comment from me
When minimal_print is True, only variables and constraints with a non-empty status (for example a violated bound)
Purpose
When printing Structured Optimization Problems (the string representation of Optimization in pyOpt_optimization.py), large problems with lots of variables and constraints, it can be difficult to debug when it is hard to tell which variables or constraints are violating or riding constraints.
This PR adds a new method (
summary_str
) that will return the string representation of the optimization.It has an an optional input called minimal_print which, if not set, will default to False and print everything as normal.
Expected time until merged
This is not urgent
Type of change
Testing
Example results copy-pasted from the terminal (not reformatted for git) for a particular case:
minimal_print=False
Optimization Problem -- Optimization using pyOpt_sparse ================================================================================ Objective Function: _objfuncObjectives
Index Name Value
0 mission:summary:fuel_burned 2.420137E+00
Variables (c - continuous, i - integer, d - discrete)
Index Name Type Lower Bound Value Upper Bound Status
0 mission:design:gross_mass_0 c 7.407407E-02 1.215277E+00 1.481481E+00
1 traj.climb.t_duration_0 c 5.000000E-01 5.000000E-01 1.500000E+00 l
2 traj.climb.states:mass_0 c 0.000000E+00 7.936223E+00 1.000000E+17
3 traj.climb.states:mass_1 c 0.000000E+00 7.912448E+00 1.000000E+17
4 traj.climb.states:mass_2 c 0.000000E+00 7.905482E+00 1.000000E+17
5 traj.climb.states:mass_3 c 0.000000E+00 7.875551E+00 1.000000E+17
6 traj.climb.states:mass_4 c 0.000000E+00 7.838787E+00 1.000000E+17
7 traj.climb.states:mass_5 c 0.000000E+00 7.827686E+00 1.000000E+17
8 traj.climb.states:mass_6 c 0.000000E+00 7.798290E+00 1.000000E+17
9 traj.climb.states:mass_7 c 0.000000E+00 7.758426E+00 1.000000E+17
10 traj.climb.states:mass_8 c 0.000000E+00 7.745731E+00 1.000000E+17
11 traj.climb.states:mass_9 c 0.000000E+00 7.721254E+00 1.000000E+17
12 traj.climb.states:mass_10 c 0.000000E+00 7.687171E+00 1.000000E+17
13 traj.climb.states:mass_11 c 0.000000E+00 7.676305E+00 1.000000E+17
14 traj.climb.states:mass_12 c 0.000000E+00 7.664044E+00 1.000000E+17
15 traj.climb.states:mass_13 c 0.000000E+00 7.647013E+00 1.000000E+17
16 traj.climb.states:mass_14 c 0.000000E+00 7.641582E+00 1.000000E+17
17 traj.climb.states:distance_0 c 0.000000E+00 1.145842E-02 1.000000E+15
18 traj.climb.states:distance_1 c 0.000000E+00 2.910629E-02 1.000000E+15
19 traj.climb.states:distance_2 c 0.000000E+00 3.513185E-02 1.000000E+15
20 traj.climb.states:distance_3 c 0.000000E+00 6.608263E-02 1.000000E+15
21 traj.climb.states:distance_4 c 0.000000E+00 1.161466E-01 1.000000E+15
22 traj.climb.states:distance_5 c 0.000000E+00 1.337327E-01 1.000000E+15
23 traj.climb.states:distance_6 c 0.000000E+00 1.857543E-01 1.000000E+15
24 traj.climb.states:distance_7 c 0.000000E+00 2.672273E-01 1.000000E+15
25 traj.climb.states:distance_8 c 0.000000E+00 2.952907E-01 1.000000E+15
26 traj.climb.states:distance_9 c 0.000000E+00 3.523428E-01 1.000000E+15
27 traj.climb.states:distance_10 c 0.000000E+00 4.373778E-01 1.000000E+15
28 traj.climb.states:distance_11 c 0.000000E+00 4.657761E-01 1.000000E+15
29 traj.climb.states:distance_12 c 0.000000E+00 4.984472E-01 1.000000E+15
30 traj.climb.states:distance_13 c 0.000000E+00 5.449429E-01 1.000000E+15
31 traj.climb.states:distance_14 c 0.000000E+00 5.599959E-01 1.000000E+15
32 traj.cruise.t_duration_0 c 5.000000E-01 1.500000E+00 1.500000E+00 u
33 traj.cruise.states:mass_0 c 0.000000E+00 7.615825E+00 1.000000E+17
34 traj.cruise.states:mass_1 c 0.000000E+00 7.580437E+00 1.000000E+17
35 traj.cruise.states:mass_2 c 0.000000E+00 7.569273E+00 1.000000E+17
36 traj.cruise.states:mass_3 c 0.000000E+00 7.517294E+00 1.000000E+17
37 traj.cruise.states:mass_4 c 0.000000E+00 7.446195E+00 1.000000E+17
38 traj.cruise.states:mass_5 c 0.000000E+00 7.423842E+00 1.000000E+17
39 traj.cruise.states:mass_6 c 0.000000E+00 7.363349E+00 1.000000E+17
40 traj.cruise.states:mass_7 c 0.000000E+00 7.280748E+00 1.000000E+17
41 traj.cruise.states:mass_8 c 0.000000E+00 7.254813E+00 1.000000E+17
42 traj.cruise.states:mass_9 c 0.000000E+00 7.205142E+00 1.000000E+17
43 traj.cruise.states:mass_10 c 0.000000E+00 7.137209E+00 1.000000E+17
44 traj.cruise.states:mass_11 c 0.000000E+00 7.115854E+00 1.000000E+17
45 traj.cruise.states:mass_12 c 0.000000E+00 7.091992E+00 1.000000E+17
46 traj.cruise.states:mass_13 c 0.000000E+00 7.059207E+00 1.000000E+17
47 traj.cruise.states:mass_14 c 0.000000E+00 7.048862E+00 1.000000E+17
48 traj.cruise.states:distance_0 c 0.000000E+00 6.517630E-01 1.000000E+15
49 traj.cruise.states:distance_1 c 0.000000E+00 7.783276E-01 1.000000E+15
50 traj.cruise.states:distance_2 c 0.000000E+00 8.183714E-01 1.000000E+15
51 traj.cruise.states:distance_3 c 0.000000E+00 1.005556E+00 1.000000E+15
52 traj.cruise.states:distance_4 c 0.000000E+00 1.263601E+00 1.000000E+15
53 traj.cruise.states:distance_5 c 0.000000E+00 1.345215E+00 1.000000E+15
54 traj.cruise.states:distance_6 c 0.000000E+00 1.567270E+00 1.000000E+15
55 traj.cruise.states:distance_7 c 0.000000E+00 1.873334E+00 1.000000E+15
56 traj.cruise.states:distance_8 c 0.000000E+00 1.970122E+00 1.000000E+15
57 traj.cruise.states:distance_9 c 0.000000E+00 2.156436E+00 1.000000E+15
58 traj.cruise.states:distance_10 c 0.000000E+00 2.413278E+00 1.000000E+15
59 traj.cruise.states:distance_11 c 0.000000E+00 2.494511E+00 1.000000E+15
60 traj.cruise.states:distance_12 c 0.000000E+00 2.585561E+00 1.000000E+15
61 traj.cruise.states:distance_13 c 0.000000E+00 2.711136E+00 1.000000E+15
62 traj.cruise.states:distance_14 c 0.000000E+00 2.750867E+00 1.000000E+15
63 traj.descent.t_duration_0 c 5.000000E-01 1.308204E+00 1.500000E+00
64 traj.descent.states:mass_0 c 0.000000E+00 7.040586E+00 1.000000E+17
65 traj.descent.states:mass_1 c 0.000000E+00 7.029221E+00 1.000000E+17
66 traj.descent.states:mass_2 c 0.000000E+00 7.025641E+00 1.000000E+17
67 traj.descent.states:mass_3 c 0.000000E+00 7.008897E+00 1.000000E+17
68 traj.descent.states:mass_4 c 0.000000E+00 6.985870E+00 1.000000E+17
69 traj.descent.states:mass_5 c 0.000000E+00 6.978625E+00 1.000000E+17
70 traj.descent.states:mass_6 c 0.000000E+00 6.958924E+00 1.000000E+17
71 traj.descent.states:mass_7 c 0.000000E+00 6.931930E+00 1.000000E+17
72 traj.descent.states:mass_8 c 0.000000E+00 6.923449E+00 1.000000E+17
73 traj.descent.states:mass_9 c 0.000000E+00 6.907324E+00 1.000000E+17
74 traj.descent.states:mass_10 c 0.000000E+00 6.885617E+00 1.000000E+17
75 traj.descent.states:mass_11 c 0.000000E+00 6.878896E+00 1.000000E+17
76 traj.descent.states:mass_12 c 0.000000E+00 6.871477E+00 1.000000E+17
77 traj.descent.states:mass_13 c 0.000000E+00 6.861406E+00 1.000000E+17
78 traj.descent.states:mass_14 c 0.000000E+00 6.858255E+00 1.000000E+17
79 traj.descent.states:distance_0 c 0.000000E+00 2.791288E+00 1.000000E+15
80 traj.descent.states:distance_1 c 0.000000E+00 2.846064E+00 1.000000E+15
81 traj.descent.states:distance_2 c 0.000000E+00 2.863155E+00 1.000000E+15
82 traj.descent.states:distance_3 c 0.000000E+00 2.941477E+00 1.000000E+15
83 traj.descent.states:distance_4 c 0.000000E+00 3.045061E+00 1.000000E+15
84 traj.descent.states:distance_5 c 0.000000E+00 3.076724E+00 1.000000E+15
85 traj.descent.states:distance_6 c 0.000000E+00 3.160104E+00 1.000000E+15
86 traj.descent.states:distance_7 c 0.000000E+00 3.268137E+00 1.000000E+15
87 traj.descent.states:distance_8 c 0.000000E+00 3.300576E+00 1.000000E+15
88 traj.descent.states:distance_9 c 0.000000E+00 3.360607E+00 1.000000E+15
89 traj.descent.states:distance_10 c 0.000000E+00 3.438008E+00 1.000000E+15
90 traj.descent.states:distance_11 c 0.000000E+00 3.461159E+00 1.000000E+15
91 traj.descent.states:distance_12 c 0.000000E+00 3.486334E+00 1.000000E+15
92 traj.descent.states:distance_13 c 0.000000E+00 3.519691E+00 1.000000E+15
93 traj.descent.states:distance_14 c 0.000000E+00 3.529912E+00 1.000000E+15
94 traj.reserve_cruise.states:mass_0 c 0.000000E+00 6.853949E+00 1.000000E+17
95 traj.reserve_cruise.states:mass_1 c 0.000000E+00 6.848020E+00 1.000000E+17
96 traj.reserve_cruise.states:mass_2 c 0.000000E+00 6.846146E+00 1.000000E+17
97 traj.reserve_cruise.states:mass_3 c 0.000000E+00 6.837405E+00 1.000000E+17
98 traj.reserve_cruise.states:mass_4 c 0.000000E+00 6.825394E+00 1.000000E+17
99 traj.reserve_cruise.states:mass_5 c 0.000000E+00 6.821606E+00 1.000000E+17
100 traj.reserve_cruise.states:mass_6 c 0.000000E+00 6.811320E+00 1.000000E+17
101 traj.reserve_cruise.states:mass_7 c 0.000000E+00 6.797200E+00 1.000000E+17
102 traj.reserve_cruise.states:mass_8 c 0.000000E+00 6.792747E+00 1.000000E+17
103 traj.reserve_cruise.states:mass_9 c 0.000000E+00 6.784194E+00 1.000000E+17
104 traj.reserve_cruise.states:mass_10 c 0.000000E+00 6.772441E+00 1.000000E+17
105 traj.reserve_cruise.states:mass_11 c 0.000000E+00 6.768732E+00 1.000000E+17
106 traj.reserve_cruise.states:mass_12 c 0.000000E+00 6.764580E+00 1.000000E+17
107 traj.reserve_cruise.states:mass_13 c 0.000000E+00 6.758861E+00 1.000000E+17
108 traj.reserve_cruise.states:mass_14 c 0.000000E+00 6.757053E+00 1.000000E+17
109 traj.reserve_cruise.states:distance_0 c 0.000000E+00 3.546154E+00 1.000000E+15
110 traj.reserve_cruise.states:distance_1 c 0.000000E+00 3.568555E+00 1.000000E+15
111 traj.reserve_cruise.states:distance_2 c 0.000000E+00 3.575642E+00 1.000000E+15
112 traj.reserve_cruise.states:distance_3 c 0.000000E+00 3.608772E+00 1.000000E+15
113 traj.reserve_cruise.states:distance_4 c 0.000000E+00 3.654444E+00 1.000000E+15
114 traj.reserve_cruise.states:distance_5 c 0.000000E+00 3.668889E+00 1.000000E+15
115 traj.reserve_cruise.states:distance_6 c 0.000000E+00 3.708190E+00 1.000000E+15
116 traj.reserve_cruise.states:distance_7 c 0.000000E+00 3.762361E+00 1.000000E+15
117 traj.reserve_cruise.states:distance_8 c 0.000000E+00 3.779492E+00 1.000000E+15
118 traj.reserve_cruise.states:distance_9 c 0.000000E+00 3.812467E+00 1.000000E+15
119 traj.reserve_cruise.states:distance_10 c 0.000000E+00 3.857926E+00 1.000000E+15
120 traj.reserve_cruise.states:distance_11 c 0.000000E+00 3.872304E+00 1.000000E+15
121 traj.reserve_cruise.states:distance_12 c 0.000000E+00 3.888419E+00 1.000000E+15
122 traj.reserve_cruise.states:distance_13 c 0.000000E+00 3.910644E+00 1.000000E+15
123 traj.reserve_cruise.states:distance_14 c 0.000000E+00 3.917676E+00 1.000000E+15
Constraints (i - inequality, e - equality)
Index Name Type Lower Value Upper Status Lagrange Multiplier (N/A)
0 mission:constraints:range_residual e 0.000000E+00 -4.547474E-15 0.000000E+00 9.00000E+100
1 mission:constraints:mass_residual e 0.000000E+00 -2.153030E-08 0.000000E+00 9.00000E+100
2 traj.climb.collocation_constraint.defects:mass e 0.000000E+00 -5.649190E-17 0.000000E+00 9.00000E+100
3 traj.climb.collocation_constraint.defects:mass e 0.000000E+00 3.624435E-07 0.000000E+00 9.00000E+100
4 traj.climb.collocation_constraint.defects:mass e 0.000000E+00 -8.338418E-08 0.000000E+00 9.00000E+100
5 traj.climb.collocation_constraint.defects:mass e 0.000000E+00 -1.851050E-07 0.000000E+00 9.00000E+100
6 traj.climb.collocation_constraint.defects:mass e 0.000000E+00 -2.257367E-07 0.000000E+00 9.00000E+100
7 traj.climb.collocation_constraint.defects:mass e 0.000000E+00 -2.445950E-07 0.000000E+00 9.00000E+100
8 traj.climb.collocation_constraint.defects:mass e 0.000000E+00 -2.945610E-07 0.000000E+00 9.00000E+100
9 traj.climb.collocation_constraint.defects:mass e 0.000000E+00 9.226740E-08 0.000000E+00 9.00000E+100
10 traj.climb.collocation_constraint.defects:mass e 0.000000E+00 -3.195652E-07 0.000000E+00 9.00000E+100
11 traj.climb.collocation_constraint.defects:mass e 0.000000E+00 -2.818044E-07 0.000000E+00 9.00000E+100
12 traj.climb.collocation_constraint.defects:mass e 0.000000E+00 -3.045445E-07 0.000000E+00 9.00000E+100
13 traj.climb.collocation_constraint.defects:mass e 0.000000E+00 3.545411E-07 0.000000E+00 9.00000E+100
14 traj.climb.collocation_constraint.defects:mass e 0.000000E+00 -2.027067E-07 0.000000E+00 9.00000E+100
15 traj.climb.collocation_constraint.defects:mass e 0.000000E+00 -2.127603E-07 0.000000E+00 9.00000E+100
16 traj.climb.collocation_constraint.defects:mass e 0.000000E+00 -2.423630E-07 0.000000E+00 9.00000E+100
17 traj.climb.collocation_constraint.defects:distance e 0.000000E+00 4.695118E-09 0.000000E+00 9.00000E+100
18 traj.climb.collocation_constraint.defects:distance e 0.000000E+00 4.254169E-09 0.000000E+00 9.00000E+100
19 traj.climb.collocation_constraint.defects:distance e 0.000000E+00 3.771352E-09 0.000000E+00 9.00000E+100
20 traj.climb.collocation_constraint.defects:distance e 0.000000E+00 7.437516E-09 0.000000E+00 9.00000E+100
21 traj.climb.collocation_constraint.defects:distance e 0.000000E+00 6.419266E-09 0.000000E+00 9.00000E+100
22 traj.climb.collocation_constraint.defects:distance e 0.000000E+00 5.421601E-09 0.000000E+00 9.00000E+100
23 traj.climb.collocation_constraint.defects:distance e 0.000000E+00 6.149460E-09 0.000000E+00 9.00000E+100
24 traj.climb.collocation_constraint.defects:distance e 0.000000E+00 5.477071E-09 0.000000E+00 9.00000E+100
25 traj.climb.collocation_constraint.defects:distance e 0.000000E+00 4.780551E-09 0.000000E+00 9.00000E+100
26 traj.climb.collocation_constraint.defects:distance e 0.000000E+00 3.869530E-09 0.000000E+00 9.00000E+100
27 traj.climb.collocation_constraint.defects:distance e 0.000000E+00 3.612760E-09 0.000000E+00 9.00000E+100
28 traj.climb.collocation_constraint.defects:distance e 0.000000E+00 3.318907E-09 0.000000E+00 9.00000E+100
29 traj.climb.collocation_constraint.defects:distance e 0.000000E+00 1.585364E-09 0.000000E+00 9.00000E+100
30 traj.climb.collocation_constraint.defects:distance e 0.000000E+00 1.543646E-09 0.000000E+00 9.00000E+100
31 traj.climb.collocation_constraint.defects:distance e 0.000000E+00 1.490506E-09 0.000000E+00 9.00000E+100
32 traj.cruise.collocation_constraint.defects:mass e 0.000000E+00 5.513725E-10 0.000000E+00 9.00000E+100
33 traj.cruise.collocation_constraint.defects:mass e 0.000000E+00 5.521448E-10 0.000000E+00 9.00000E+100
34 traj.cruise.collocation_constraint.defects:mass e 0.000000E+00 5.534461E-10 0.000000E+00 9.00000E+100
35 traj.cruise.collocation_constraint.defects:mass e 0.000000E+00 1.131252E-09 0.000000E+00 9.00000E+100
36 traj.cruise.collocation_constraint.defects:mass e 0.000000E+00 1.136475E-09 0.000000E+00 9.00000E+100
37 traj.cruise.collocation_constraint.defects:mass e 0.000000E+00 1.145704E-09 0.000000E+00 9.00000E+100
38 traj.cruise.collocation_constraint.defects:mass e 0.000000E+00 1.366185E-09 0.000000E+00 9.00000E+100
39 traj.cruise.collocation_constraint.defects:mass e 0.000000E+00 1.381414E-09 0.000000E+00 9.00000E+100
40 traj.cruise.collocation_constraint.defects:mass e 0.000000E+00 5.624325E-09 0.000000E+00 9.00000E+100
41 traj.cruise.collocation_constraint.defects:mass e 0.000000E+00 3.040196E-08 0.000000E+00 9.00000E+100
42 traj.cruise.collocation_constraint.defects:mass e 0.000000E+00 8.070184E-08 0.000000E+00 9.00000E+100
43 traj.cruise.collocation_constraint.defects:mass e 0.000000E+00 1.519352E-07 0.000000E+00 9.00000E+100
44 traj.cruise.collocation_constraint.defects:mass e 0.000000E+00 8.564826E-08 0.000000E+00 9.00000E+100
45 traj.cruise.collocation_constraint.defects:mass e 0.000000E+00 9.838856E-08 0.000000E+00 9.00000E+100
46 traj.cruise.collocation_constraint.defects:mass e 0.000000E+00 6.422332E-10 0.000000E+00 9.00000E+100
47 traj.cruise.collocation_constraint.defects:distance e 0.000000E+00 -1.188433E-18 0.000000E+00 9.00000E+100
48 traj.cruise.collocation_constraint.defects:distance e 0.000000E+00 1.697762E-19 0.000000E+00 9.00000E+100
49 traj.cruise.collocation_constraint.defects:distance e 0.000000E+00 -3.055971E-18 0.000000E+00 9.00000E+100
50 traj.cruise.collocation_constraint.defects:distance e 0.000000E+00 3.814043E-18 0.000000E+00 9.00000E+100
51 traj.cruise.collocation_constraint.defects:distance e 0.000000E+00 -3.467312E-19 0.000000E+00 9.00000E+100
52 traj.cruise.collocation_constraint.defects:distance e 0.000000E+00 7.628087E-18 0.000000E+00 9.00000E+100
53 traj.cruise.collocation_constraint.defects:distance e 0.000000E+00 -4.122291E-18 0.000000E+00 9.00000E+100
54 traj.cruise.collocation_constraint.defects:distance e 0.000000E+00 2.473375E-18 0.000000E+00 9.00000E+100
55 traj.cruise.collocation_constraint.defects:distance e 0.000000E+00 -4.122291E-19 0.000000E+00 9.00000E+100
56 traj.cruise.collocation_constraint.defects:distance e 0.000000E+00 -1.040194E-18 0.000000E+00 9.00000E+100
57 traj.cruise.collocation_constraint.defects:distance e 0.000000E+00 -1.386925E-18 0.000000E+00 9.00000E+100
58 traj.cruise.collocation_constraint.defects:distance e 0.000000E+00 -1.005521E-17 0.000000E+00 9.00000E+100
59 traj.cruise.collocation_constraint.defects:distance e 0.000000E+00 1.460075E-17 0.000000E+00 9.00000E+100
60 traj.cruise.collocation_constraint.defects:distance e 0.000000E+00 -3.735076E-18 0.000000E+00 9.00000E+100
61 traj.cruise.collocation_constraint.defects:distance e 0.000000E+00 1.375187E-17 0.000000E+00 9.00000E+100
62 traj.descent.collocation_constraint.defects:mass e 0.000000E+00 1.886688E-07 0.000000E+00 9.00000E+100
63 traj.descent.collocation_constraint.defects:mass e 0.000000E+00 1.818293E-07 0.000000E+00 9.00000E+100
64 traj.descent.collocation_constraint.defects:mass e 0.000000E+00 1.870963E-07 0.000000E+00 9.00000E+100
65 traj.descent.collocation_constraint.defects:mass e 0.000000E+00 3.122895E-07 0.000000E+00 9.00000E+100
66 traj.descent.collocation_constraint.defects:mass e 0.000000E+00 2.715872E-07 0.000000E+00 9.00000E+100
67 traj.descent.collocation_constraint.defects:mass e 0.000000E+00 2.408365E-07 0.000000E+00 9.00000E+100
68 traj.descent.collocation_constraint.defects:mass e 0.000000E+00 2.248759E-07 0.000000E+00 9.00000E+100
69 traj.descent.collocation_constraint.defects:mass e 0.000000E+00 1.835306E-07 0.000000E+00 9.00000E+100
70 traj.descent.collocation_constraint.defects:mass e 0.000000E+00 1.226950E-07 0.000000E+00 9.00000E+100
71 traj.descent.collocation_constraint.defects:mass e 0.000000E+00 1.120320E-07 0.000000E+00 9.00000E+100
72 traj.descent.collocation_constraint.defects:mass e 0.000000E+00 9.785530E-08 0.000000E+00 9.00000E+100
73 traj.descent.collocation_constraint.defects:mass e 0.000000E+00 8.679865E-08 0.000000E+00 9.00000E+100
74 traj.descent.collocation_constraint.defects:mass e 0.000000E+00 3.854721E-08 0.000000E+00 9.00000E+100
75 traj.descent.collocation_constraint.defects:mass e 0.000000E+00 3.417508E-08 0.000000E+00 9.00000E+100
76 traj.descent.collocation_constraint.defects:mass e 0.000000E+00 2.896123E-08 0.000000E+00 9.00000E+100
77 traj.descent.collocation_constraint.defects:distance e 0.000000E+00 1.735070E-09 0.000000E+00 9.00000E+100
78 traj.descent.collocation_constraint.defects:distance e 0.000000E+00 1.761032E-09 0.000000E+00 9.00000E+100
79 traj.descent.collocation_constraint.defects:distance e 0.000000E+00 1.799066E-09 0.000000E+00 9.00000E+100
80 traj.descent.collocation_constraint.defects:distance e 0.000000E+00 3.699944E-09 0.000000E+00 9.00000E+100
81 traj.descent.collocation_constraint.defects:distance e 0.000000E+00 3.828304E-09 0.000000E+00 9.00000E+100
82 traj.descent.collocation_constraint.defects:distance e 0.000000E+00 4.029728E-09 0.000000E+00 9.00000E+100
83 traj.descent.collocation_constraint.defects:distance e 0.000000E+00 4.874695E-09 0.000000E+00 9.00000E+100
84 traj.descent.collocation_constraint.defects:distance e 0.000000E+00 5.125172E-09 0.000000E+00 9.00000E+100
85 traj.descent.collocation_constraint.defects:distance e 0.000000E+00 5.535193E-09 0.000000E+00 9.00000E+100
86 traj.descent.collocation_constraint.defects:distance e 0.000000E+00 4.780654E-09 0.000000E+00 9.00000E+100
87 traj.descent.collocation_constraint.defects:distance e 0.000000E+00 5.047111E-09 0.000000E+00 9.00000E+100
88 traj.descent.collocation_constraint.defects:distance e 0.000000E+00 5.482400E-09 0.000000E+00 9.00000E+100
89 traj.descent.collocation_constraint.defects:distance e 0.000000E+00 2.761606E-09 0.000000E+00 9.00000E+100
90 traj.descent.collocation_constraint.defects:distance e 0.000000E+00 2.854676E-09 0.000000E+00 9.00000E+100
91 traj.descent.collocation_constraint.defects:distance e 0.000000E+00 2.995993E-09 0.000000E+00 9.00000E+100
92 traj.reserve_cruise.collocation_constraint.defects:mass e 0.000000E+00 6.828760E-11 0.000000E+00 9.00000E+100
93 traj.reserve_cruise.collocation_constraint.defects:mass e 0.000000E+00 6.814167E-11 0.000000E+00 9.00000E+100
94 traj.reserve_cruise.collocation_constraint.defects:mass e 0.000000E+00 6.797487E-11 0.000000E+00 9.00000E+100
95 traj.reserve_cruise.collocation_constraint.defects:mass e 0.000000E+00 1.387327E-10 0.000000E+00 9.00000E+100
96 traj.reserve_cruise.collocation_constraint.defects:mass e 0.000000E+00 1.384365E-10 0.000000E+00 9.00000E+100
97 traj.reserve_cruise.collocation_constraint.defects:mass e 0.000000E+00 1.379184E-10 0.000000E+00 9.00000E+100
98 traj.reserve_cruise.collocation_constraint.defects:mass e 0.000000E+00 1.635809E-10 0.000000E+00 9.00000E+100
99 traj.reserve_cruise.collocation_constraint.defects:mass e 0.000000E+00 1.629930E-10 0.000000E+00 9.00000E+100
100 traj.reserve_cruise.collocation_constraint.defects:mass e 0.000000E+00 1.627021E-10 0.000000E+00 9.00000E+100
101 traj.reserve_cruise.collocation_constraint.defects:mass e 0.000000E+00 1.368726E-10 0.000000E+00 9.00000E+100
102 traj.reserve_cruise.collocation_constraint.defects:mass e 0.000000E+00 1.370407E-10 0.000000E+00 9.00000E+100
103 traj.reserve_cruise.collocation_constraint.defects:mass e 0.000000E+00 1.375285E-10 0.000000E+00 9.00000E+100
104 traj.reserve_cruise.collocation_constraint.defects:mass e 0.000000E+00 2.847835E-12 0.000000E+00 9.00000E+100
105 traj.reserve_cruise.collocation_constraint.defects:mass e 0.000000E+00 2.858009E-12 0.000000E+00 9.00000E+100
106 traj.reserve_cruise.collocation_constraint.defects:mass e 0.000000E+00 2.878223E-12 0.000000E+00 9.00000E+100
107 traj.reserve_cruise.collocation_constraint.defects:distance e 0.000000E+00 -3.317397E-17 0.000000E+00 9.00000E+100
108 traj.reserve_cruise.collocation_constraint.defects:distance e 0.000000E+00 -2.445979E-17 0.000000E+00 9.00000E+100
109 traj.reserve_cruise.collocation_constraint.defects:distance e 0.000000E+00 -2.103422E-19 0.000000E+00 9.00000E+100
110 traj.reserve_cruise.collocation_constraint.defects:distance e 0.000000E+00 -4.817416E-17 0.000000E+00 9.00000E+100
111 traj.reserve_cruise.collocation_constraint.defects:distance e 0.000000E+00 -1.478977E-17 0.000000E+00 9.00000E+100
112 traj.reserve_cruise.collocation_constraint.defects:distance e 0.000000E+00 8.837044E-18 0.000000E+00 9.00000E+100
113 traj.reserve_cruise.collocation_constraint.defects:distance e 0.000000E+00 -3.020581E-17 0.000000E+00 9.00000E+100
114 traj.reserve_cruise.collocation_constraint.defects:distance e 0.000000E+00 -2.225308E-17 0.000000E+00 9.00000E+100
115 traj.reserve_cruise.collocation_constraint.defects:distance e 0.000000E+00 1.933464E-17 0.000000E+00 9.00000E+100
116 traj.reserve_cruise.collocation_constraint.defects:distance e 0.000000E+00 1.276462E-17 0.000000E+00 9.00000E+100
117 traj.reserve_cruise.collocation_constraint.defects:distance e 0.000000E+00 -1.258051E-17 0.000000E+00 9.00000E+100
118 traj.reserve_cruise.collocation_constraint.defects:distance e 0.000000E+00 1.699904E-17 0.000000E+00 9.00000E+100
119 traj.reserve_cruise.collocation_constraint.defects:distance e 0.000000E+00 2.004260E-17 0.000000E+00 9.00000E+100
120 traj.reserve_cruise.collocation_constraint.defects:distance e 0.000000E+00 -8.714176E-19 0.000000E+00 9.00000E+100
121 traj.reserve_cruise.collocation_constraint.defects:distance e 0.000000E+00 -1.875050E-17 0.000000E+00 9.00000E+100
122 traj.phases.climb->path_constraint->throttle i 0.000000E+00 5.654843E-01 1.000000E+00 9.00000E+100
123 traj.phases.climb->path_constraint->throttle i 0.000000E+00 5.231614E-01 1.000000E+00 9.00000E+100
124 traj.phases.climb->path_constraint->throttle i 0.000000E+00 4.867573E-01 1.000000E+00 9.00000E+100
125 traj.phases.climb->path_constraint->throttle i 0.000000E+00 4.788972E-01 1.000000E+00 9.00000E+100
126 traj.phases.climb->path_constraint->throttle i 0.000000E+00 4.788972E-01 1.000000E+00 9.00000E+100
127 traj.phases.climb->path_constraint->throttle i 0.000000E+00 4.603338E-01 1.000000E+00 9.00000E+100
128 traj.phases.climb->path_constraint->throttle i 0.000000E+00 4.706284E-01 1.000000E+00 9.00000E+100
129 traj.phases.climb->path_constraint->throttle i 0.000000E+00 4.788337E-01 1.000000E+00 9.00000E+100
130 traj.phases.climb->path_constraint->throttle i 0.000000E+00 4.788337E-01 1.000000E+00 9.00000E+100
131 traj.phases.climb->path_constraint->throttle i 0.000000E+00 5.172412E-01 1.000000E+00 9.00000E+100
132 traj.phases.climb->path_constraint->throttle i 0.000000E+00 5.924367E-01 1.000000E+00 9.00000E+100
133 traj.phases.climb->path_constraint->throttle i 0.000000E+00 6.216921E-01 1.000000E+00 9.00000E+100
134 traj.phases.climb->path_constraint->throttle i 0.000000E+00 6.216921E-01 1.000000E+00 9.00000E+100
135 traj.phases.climb->path_constraint->throttle i 0.000000E+00 6.823581E-01 1.000000E+00 9.00000E+100
136 traj.phases.climb->path_constraint->throttle i 0.000000E+00 7.841853E-01 1.000000E+00 9.00000E+100
137 traj.phases.climb->path_constraint->throttle i 0.000000E+00 8.199459E-01 1.000000E+00 9.00000E+100
138 traj.phases.climb->path_constraint->throttle i 0.000000E+00 8.199459E-01 1.000000E+00 9.00000E+100
139 traj.phases.climb->path_constraint->throttle i 0.000000E+00 8.643829E-01 1.000000E+00 9.00000E+100
140 traj.phases.climb->path_constraint->throttle i 0.000000E+00 9.245716E-01 1.000000E+00 9.00000E+100
141 traj.phases.climb->path_constraint->throttle i 0.000000E+00 9.444546E-01 1.000000E+00 9.00000E+100
142 traj.phases.cruise->initial_boundary_constraint->throttle i 0.000000E+00 7.419784E-01 1.000000E+00 9.00000E+100
143 traj.phases.cruise->final_boundary_constraint->throttle i 0.000000E+00 7.555855E-01 1.000000E+00 9.00000E+100
144 traj.phases.descent->path_constraint->throttle i 0.000000E+00 5.826584E-01 1.000000E+00 9.00000E+100
145 traj.phases.descent->path_constraint->throttle i 0.000000E+00 5.460572E-01 1.000000E+00 9.00000E+100
146 traj.phases.descent->path_constraint->throttle i 0.000000E+00 5.021060E-01 1.000000E+00 9.00000E+100
147 traj.phases.descent->path_constraint->throttle i 0.000000E+00 4.898912E-01 1.000000E+00 9.00000E+100
148 traj.phases.descent->path_constraint->throttle i 0.000000E+00 4.898912E-01 1.000000E+00 9.00000E+100
149 traj.phases.descent->path_constraint->throttle i 0.000000E+00 4.318375E-01 1.000000E+00 9.00000E+100
150 traj.phases.descent->path_constraint->throttle i 0.000000E+00 3.660179E-01 1.000000E+00 9.00000E+100
151 traj.phases.descent->path_constraint->throttle i 0.000000E+00 3.475731E-01 1.000000E+00 9.00000E+100
152 traj.phases.descent->path_constraint->throttle i 0.000000E+00 3.475731E-01 1.000000E+00 9.00000E+100
153 traj.phases.descent->path_constraint->throttle i 0.000000E+00 3.034017E-01 1.000000E+00 9.00000E+100
154 traj.phases.descent->path_constraint->throttle i 0.000000E+00 2.527695E-01 1.000000E+00 9.00000E+100
155 traj.phases.descent->path_constraint->throttle i 0.000000E+00 2.369947E-01 1.000000E+00 9.00000E+100
156 traj.phases.descent->path_constraint->throttle i 0.000000E+00 2.369947E-01 1.000000E+00 9.00000E+100
157 traj.phases.descent->path_constraint->throttle i 0.000000E+00 2.090236E-01 1.000000E+00 9.00000E+100
158 traj.phases.descent->path_constraint->throttle i 0.000000E+00 1.747371E-01 1.000000E+00 9.00000E+100
159 traj.phases.descent->path_constraint->throttle i 0.000000E+00 1.653359E-01 1.000000E+00 9.00000E+100
160 traj.phases.descent->path_constraint->throttle i 0.000000E+00 1.653359E-01 1.000000E+00 9.00000E+100
161 traj.phases.descent->path_constraint->throttle i 0.000000E+00 1.551377E-01 1.000000E+00 9.00000E+100
162 traj.phases.descent->path_constraint->throttle i 0.000000E+00 1.425361E-01 1.000000E+00 9.00000E+100
163 traj.phases.descent->path_constraint->throttle i 0.000000E+00 1.387885E-01 1.000000E+00 9.00000E+100
164 traj.phases.reserve_cruise->initial_boundary_constraint->throttle i 0.000000E+00 6.980069E-01 1.000000E+00 9.00000E+100
165 traj.phases.reserve_cruise->final_boundary_constraint->throttle i 0.000000E+00 7.460802E-01 1.000000E+00 9.00000E+100
minimal_print=True
Optimization Problem -- Optimization using pyOpt_sparse ================================================================================ Objective Function: _objfuncObjectives
Index Name Value
0 mission:summary:fuel_burned 2.420137E+00
Variables (c - continuous, i - integer, d - discrete)
Index Name Type Lower Bound Value Upper Bound Status
1 traj.climb.t_duration_0 c 5.000000E-01 5.000000E-01 1.500000E+00 l
32 traj.cruise.t_duration_0 c 5.000000E-01 1.500000E+00 1.500000E+00 u
Constraints (i - inequality, e - equality)
Index Name Type Lower Value Upper Status Lagrange Multiplier (N/A)
Checklist
flake8
andblack
to make sure the Python code adheres to PEP-8 and is consistently formattedfprettify
or C/C++ code withclang-format
as applicable