From 4713f68adcb1dc6516703d6f9cffa3e14f993ee6 Mon Sep 17 00:00:00 2001 From: Olivier Cots Date: Sun, 19 Oct 2025 14:51:54 +0200 Subject: [PATCH 1/8] Update OptimalControlProblems.jl From 790f09ec570bedffbfb725e4fdda1786d185cd8f Mon Sep 17 00:00:00 2001 From: Olivier Cots Date: Sat, 25 Oct 2025 09:42:43 +0200 Subject: [PATCH 2/8] obj --- test/runtests.jl | 4 ++-- test/test_quick.jl | 3 ++- test/utils.jl | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/test/runtests.jl b/test/runtests.jl index 703d12f2..7290f778 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -55,8 +55,8 @@ const VERBOSE = true # print or not details during tests :OptimalControl, # convergence tests for OptimalControl models :OptimalControl_s, # convergence tests for OptimalControl models :init, # comparison between OptimalControl and JuMP: init - # :solution, # comparison between OptimalControl and JuMP: solution - # :quick, # quick comparison: objective rel error only + :solution, # comparison between OptimalControl and JuMP: solution + :quick, # quick comparison: objective rel error only :parameters, # tests with different parameters values, does no depend on `list_of_problems` ) @testset "$(name)" verbose=VERBOSE begin diff --git a/test/test_quick.jl b/test/test_quick.jl index bc179e67..014ce8f7 100644 --- a/test/test_quick.jl +++ b/test/test_quick.jl @@ -65,7 +65,8 @@ function test_quick() ocp = ocp_model(docp) nlp_sol = madnlp(nlp; kwargs_madnlp...) sol = build_ocp_solution(docp, nlp_sol) - o_os = criterion(ocp) == :min ? objective(sol) : -objective(sol) + #o_os = criterion(ocp) == :min ? objective(sol) : -objective(sol) + o_os = objective(sol) ############### TEST ############### DEBUG && println("├─ objective") diff --git a/test/utils.jl b/test/utils.jl index 2741210c..cf674b63 100644 --- a/test/utils.jl +++ b/test/utils.jl @@ -329,7 +329,8 @@ function comparison(; max_iter, test_name) t_os = time_grid(sol_os) x_os = state(sol_os).(t_os) u_os = control(sol_os).(t_os) - o_os = criterion(ocp_os) == :min ? objective(sol_os) : -objective(sol_os) + #o_os = criterion(ocp_os) == :min ? objective(sol_os) : -objective(sol_os) + o_os = objective(sol_os) i_os = iterations(sol_os) v_os = variable(sol_os) nb_var_os = get_nvar(nlp_os) From 66f0a9abf0df8b40908eb77b087fa3be257d9ca6 Mon Sep 17 00:00:00 2001 From: Olivier Cots Date: Sat, 25 Oct 2025 09:44:16 +0200 Subject: [PATCH 3/8] remove useless lines of commented code --- test/figures/init/beam.pdf | Bin 278752 -> 0 bytes test/test_quick.jl | 1 - test/utils.jl | 1 - 3 files changed, 2 deletions(-) diff --git a/test/figures/init/beam.pdf b/test/figures/init/beam.pdf index 51c756cc03e2a0fb933d3c0f9f94d4eab4b5efd5..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 278752 zcmeFa>&|V&xda*O$xv^7;0{5B}Y+e);Er{b%1~g^w>EY5C)y|LU)P`^~TZ*@u7eFFt(p zi$AyJ>*(Qs`9J^nZ$AF$kAM1`pMLwxpV7cifA-CJlfB5jDfBVd$}u@h30#@*hXVw^8wb`sNou z`^{f|yj(y0=wJQSx4-%3S3mlfKmOx?{jdLrZ~o>_zWK9X{`ogn`}J=auAhJS9RK$h z@qemZe=gr4FPkN@Sz&!0YjdH;O-a{c(DKl|xG*7A4jhnM)l#pW#gcR&3N`uxK7 zg#X*W{ZIe-n?JKZp?~?GzxngO`ssi7%fI>flg|kM<@4u{udko~qvQ9B-yrj^KfXG0 z{wHNw}fBxa$_YnPK%5%BDeR{inyuaT*G5A0KaKFBNy4)Lo+xYc% z{d9Xns`~xHA=gj-BZK+p4ATF|ApK_s=jG%7QS*+hP6%WFr;Obn+FOp{<>lqm>yq*3 z9||v-e#}sPWs$De%cqwiQsGlYdVl+LA2WMRe5OdZm)ob?5UKE)BHb@vK3#`Mh0hde zISHQmI$bjGw;xV0?-J?ddj0f1L@Io$NH1@nzD$u4pDNOq+o#V{q{L^6^m={&bQvNQ z{!WoD9lKvX?!o(5>i!`M-?Hl8v(S8pRsT?ueE0Hke}DgUeP@aLdXoH}RpSgvzI(Aa zL6YCIMw}qY?^zl)N&Zke_()SW-%HX7aY_aS`@Gy=KV2^$?{BwH_bW@o<^J;Nw(#YC z|MdPs>Gjjg?c;ALy??rY246nCzI<%-`o$Q2l)k>h$)nV|uWz5OpQAKeetorr?l+Nj zVTo6MU8QfIUfyP1nq*DwmJ6+Z6Sq`Z_mDYTP7S-?MD|kHs8DS_UX%)7>%ln0P0^Y z7h3u!ZmF{FA@ki;e`z%J{q2Xp{P-7e+pleOFPBg3;8f>x7~RYD(>i(3eB z{r(Y0{cq1w0z1QE(~{gXyncFJSj75xcn(X%n|_s^Q)pREYtudXzAZL?YrtO KnH(LMjBjtGg^jYIczhWeBc<530uKTs;ycAmcCoZX~ z?vlA$u2`_?dzR;*B~0)zy4QP}S%mM)>+RE9hNlc0VEwG7x6m=@Sz4x1b(hgq%Vl)c z?=m{Dlij7St{z9I=g(n;Y0iy$&C0p{Zlj~EFslsL3Xk!x2~@RQ zz6{re4*j!~N`~vIYlE@WRm*f}xUPN^DaY;8E9Ts#>|%7XRTnGIcor=eTKXq$SID}D z%-M1oUGy%fS(@mrHEAbBeB)&oS9Ofntpzr?*iL`oduvUAK*{TV^1M zW!-P0-+s7WZjnjqQU*#-FMe^o++(uSoENG=Z`@L4-9zSVxiy;l+Hc`9I^}p}bJX4U<+(K%Xg#`Z8t(PvGtjPCjw_K}M! zMz>JwU!^To);(m-mRqB#?`cMtzRW-cN4Q?zKfUC12S-@AIKlN&zkkGMa)c}C4FiyK zbcbDDudo7Fqrl%DxP`ucjyxnY9K`3^c>NyFbI#HA`q9?!a>jQ<6qa|*(1EQ{TlB>N z!veAtJ9X)Zh4^~C8}&qAUZU>((-+rgI`~4}h2Af-lzqVGC=Cz4e)?jljGi(+++L&K zi#&kLoVx<0EM63)jEGAV4)+$NoWY1`3#&!nTEK8^>lS8Rb0h8c_O6t;x;@dBo^~(K zvnS;UKUFI8&WUUb{SU9b;)f!JEJp_xkxK_o^oETLs zmH9F5Z#l9o+0GfWqJ{{IRLmI~<=Dj>l610k+RIsZY`IEbHB(!{(sjK{ObZzCI+)V0JYt1fWp)xX)PnE|(LE;(qO2R^ zrf*CdX`V#vvz*ex(XaY5*V!|hW=A7j7?)1hiU_S-9EZecFxH9G5QAS>9fDWTa<~VW zCJhJpqoskC{)Jf=QvayiW?3yWmQbedH{$e*%%B>6N%!DKsedfQD3S(0 z?dPQ3+4T*AVWg4Z*sC#cYyAhuzCLzmmWqs=F`vSmsG zE&UT0XQ{eN=4!d3eb0C3cUI)&%rlnz<}B|7`<(9NERB14@83V-Q#s2!n>THv!~YjT zkm0+-f8!4KBzol;&Pyx@jXV641t;Qm_y@%b-r*noDl5tG52~et#Q^L1@;UsaO6fUr zl^y=S5Ds&tHT*Z~@YguQKXqBnw7d-ewyfo))zYuoibV7ajtEetm}ds~4F6~tp)|uk z<5l*b;lFW*e{kjU^kV87O7(yU|MYY*)@1lsj*1qsz`YZ#7mm@$-)8tnhj(?#@ZV_Z zU!@uT)z`Wm{;TB*|JCmb|LX6YW%x&C_Z=(zgB?4t;lJ#~Xc6JRaNEl%8OG}uj99bk z@c)H;#llyRdx;fF!TN0l+CnS*HO?SibyxTY2UE!KU;R3rF}+_HIwL@pGOSK#FCAYn zepmNuxlo6{Ds8E>Nur;hkx3VbyTqY!up*QJ(nS{`HKp)g%16*w1RZi z)qsQiSIgx{t$&AqMn`w=QZ^lB{8<-4>Kk zZFILg#ChS{9XjTq*I9}<@&vKEH|jxOI83AKw&8TkX;$5D8=d$|4l{Fp^F$}3L`=3g z&Sk3QLN(}Jnnu@k51F&&)Uf+a^xF>$m(f}K*m2!F@zBYNbKE#-iQQXlc^V!1XK5N; z*KMQgmeZ`d-;Umn7F(?{y4#&ioF-TXE3QQvqg!a{pQUMZUH6bVTTY|veiNN$bm_|s z6r=g`54RU$c20M2j)jY3+&HxA#mlpmg`@sSZ2iW84=IbqIc{Y9T@@Kw7Hx!V9EmqE zcIe9AN^uRS*6+xh+&nR15S%wT$!h-*SNo@|Q8x}fbj(zenIq#)4&YF_aSQzl5z93! zm1>jsuA;JWP6L~$HbMCG0vuNa86yO zQ4x)WgYc+D?RJA`*>ao(#EM|QK|^YN2$^#tNnweCq}4v#5h~)vK3f!r!0aI;hYJ_c z5^F>_Iz%hlO0pD0ODxeeNZJ;oVTcHn`X4xCc3q-nw|MGgiWeV)2`{wtuhJk|t8Ni3 zahyp6mFj+zSlMz0r^F%;>p-#3R-;NZ;j*F#xW9udGA#KXan(O( z&^R)9SuvU`vK$%25>+vH;TF1o|A^0w*>`fY@(5-Yr%(w}W($jA?Ju??{;X*S+iBFR z{ldXXx^A-_ai#9$u+^`wE5*K(6ZU>X;yW2s_lT>mIbmHnTW(aVy}u4lmQq#SW;@+- zYS{fIvft9b*p6)-6#Gv0c~WfgL9rVx{i_tI-49e;`N8Q@>l{pt`{W&0s6i^UX?T5P6`S2h^-8cQdi`+l7 zBynHct46RlrrW&CD~ssYyI)#ku&!;FB;R*!`-dHq7jEUS6If$X_>3{>OWHjq-*ZX( zhaHo3H@hU+?q+}OtA3yJ1}W)R0wvS*nT-afn^^HjKL^*b{ zgf4~mz?zS`Y(rB2Xt~hpw=gtJsj}`NGjmAGtv48w(3x*b=-u>g_pT89;eXqn^RWY2Q_M zS%0<6@aQ?!Zz3!Qj;M`xY2H3P>c+)|_8fj|3L_V$tQ$Bzhf;5@9x^ZMCpL7ysjqcQ z|MnbeOK!@};JH$pWreU{PnpnP8*Q}ouhR6Ks*6VHIn{FcM(ZDbq#PtP=(kIWUwY`O zo0lUP4?V{lYMcIrORB7U$eb;=MpNIjJcq4^7jTx*v8f3&i|~DMi-YoO0@-?n-{kZ* z>OpUuMpt#0;Z)0IR@HAJ2HopP4tkm-jM0O>qb{SZKUd3zR=M~DF5y<1oHGyzd(~MrtgqBTW*b}zGoR78xikBEu&*A5@uFLM{rhwjξiKkF&dJ8S( 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 diff --git a/test/test_quick.jl b/test/test_quick.jl index 014ce8f7..879b7c06 100644 --- a/test/test_quick.jl +++ b/test/test_quick.jl @@ -65,7 +65,6 @@ function test_quick() ocp = ocp_model(docp) nlp_sol = madnlp(nlp; kwargs_madnlp...) sol = build_ocp_solution(docp, nlp_sol) - #o_os = criterion(ocp) == :min ? objective(sol) : -objective(sol) o_os = objective(sol) ############### TEST ############### diff --git a/test/utils.jl b/test/utils.jl index cf674b63..3249c07d 100644 --- a/test/utils.jl +++ b/test/utils.jl @@ -329,7 +329,6 @@ function comparison(; max_iter, test_name) t_os = time_grid(sol_os) x_os = state(sol_os).(t_os) u_os = control(sol_os).(t_os) - #o_os = criterion(ocp_os) == :min ? objective(sol_os) : -objective(sol_os) o_os = objective(sol_os) i_os = iterations(sol_os) v_os = variable(sol_os) From 10d0068063074345ec1f88cc3e7ef00af90f0cc7 Mon Sep 17 00:00:00 2001 From: Olivier Cots Date: Sat, 25 Oct 2025 09:48:42 +0200 Subject: [PATCH 4/8] remove build_ocp_solution --- docs/problems.jl | 6 +++--- docs/src/tutorial-solve.md | 2 +- src/OptimalControlProblems.jl | 18 ------------------ test/figures/init/beam.pdf | Bin 0 -> 278752 bytes test/figures/init/chain.pdf | Bin 365199 -> 365199 bytes test/figures/init/double_oscillator.pdf | Bin 427645 -> 427645 bytes test/figures/init/ducted_fan.pdf | Bin 472008 -> 472008 bytes test/figures/init/electric_vehicle.pdf | Bin 272779 -> 272779 bytes test/figures/init/glider.pdf | Bin 469209 -> 469209 bytes test/figures/init/insurance.pdf | Bin 884281 -> 883969 bytes test/figures/init/jackson.pdf | Bin 321261 -> 321261 bytes test/figures/init/robbins.pdf | Bin 339147 -> 339147 bytes test/figures/init/robot.pdf | Bin 575413 -> 575413 bytes test/test_quick.jl | 4 ++-- test/utils.jl | 4 ++-- 15 files changed, 8 insertions(+), 26 deletions(-) diff --git a/docs/problems.jl b/docs/problems.jl index 919eefd8..7c89890d 100644 --- a/docs/problems.jl +++ b/docs/problems.jl @@ -116,7 +116,7 @@ function generate_documentation( nlp_oc_sol = NLPModelsIpopt.ipopt(nlp_oc; max_iter=0) # Build OptimalControl solution - ocp_sol = build_ocp_solution(docp, nlp_oc_sol) + ocp_sol = build_OCP_solution(docp, nlp_oc_sol) # get dimensions n = state_dimension(ocp_oc) @@ -292,7 +292,7 @@ function generate_documentation( function print_numerical_comparisons(problem, docp, nlp_oc_sol, nlp_jp) # get relevant data from OptimalControl model - ocp_sol = build_ocp_solution(docp, nlp_oc_sol) + ocp_sol = build_OCP_solution(docp, nlp_oc_sol) t_oc = time_grid(ocp_sol) x_oc = state(ocp_sol).(t_oc) u_oc = control(ocp_sol).(t_oc) @@ -376,7 +376,7 @@ function generate_documentation( ```@example main # build an ocp solution to use the plot from OptimalControl package - ocp_sol = build_ocp_solution(docp, nlp_oc_sol) + ocp_sol = build_OCP_solution(docp, nlp_oc_sol) # dimensions n = state_dimension(ocp_sol) diff --git a/docs/src/tutorial-solve.md b/docs/src/tutorial-solve.md index f81caf9a..565937b4 100644 --- a/docs/src/tutorial-solve.md +++ b/docs/src/tutorial-solve.md @@ -49,7 +49,7 @@ nlp_sol.objective To recover the state, control, and costate, we recommend building an optimal control solution and using the associated getters (you can also retrieve the number of iterations and the objective value from the OCP solution): ```@example main -ocp_sol = build_ocp_solution(docp, nlp_sol) +ocp_sol = build_OCP_solution(docp, nlp_sol) t = time_grid(ocp_sol) # t0, ..., tN = tf x = state(ocp_sol) # function of time diff --git a/src/OptimalControlProblems.jl b/src/OptimalControlProblems.jl index fdf74e61..30c8b055 100644 --- a/src/OptimalControlProblems.jl +++ b/src/OptimalControlProblems.jl @@ -21,24 +21,6 @@ using OrderedCollections: OrderedDict using SolverCore import ADNLPModels: ADNLPModels, ADNLPModel -# ----------------- -# SHOULD NO BE HERE ("triiiiiiiiiiiiiiit !!!" - bruit de sifflet) -function build_ocp_solution( - docp::CTDirect.DOCP, nlp_solution::SolverCore.AbstractExecutionStats -) - nlp_model_backend = if docp.nlp isa ADNLPModel - CTDirect.ADNLPBackend() - elseif docp.nlp isa ExaModel - CTDirect.ExaBackend() - else - throw(CTBase.IncorrectArgument("The NLP model is of unknown type.")) - end - return CTDirect.build_OCP_solution(docp, nlp_solution; nlp_model=nlp_model_backend) -end - -export build_ocp_solution -# - """ $(TYPEDEF) diff --git a/test/figures/init/beam.pdf b/test/figures/init/beam.pdf index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..5b0a40f8965f5083253afdbaf19bd3a7bffa7b1a 100644 GIT binary patch literal 278752 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 literal 0 HcmV?d00001 diff --git a/test/figures/init/chain.pdf b/test/figures/init/chain.pdf index 23db459f59bec6d782e1b68f240701dd8d0e9407..488ecb7d6e40ffb793462f1cc3ec5e1e75ef46fd 100644 GIT binary patch delta 38 tcmeBQD%QVLY=Rw^p@EU9fu)Iwv2mkEs|RDN2UDvDbE^l-Ru5M9NdV*53r+w4 delta 38 tcmeBQD%QVLY=Rw^fu)hDp^2e^u|=ats|RDN2UDvDbE^l-Ru5M9NdV*?3s3+6 diff --git a/test/figures/init/double_oscillator.pdf b/test/figures/init/double_oscillator.pdf index daeb8c19d68d21d6fd4eb7bd683fae8481cdbe52..b2652ba6b92018d5c1c98db1975e6941e0f89697 100644 GIT binary patch delta 41 wcmey{BlWjOYJwe?p@EU9fu)Iwsd1x6s|RDN2UDvDbE^kSs|V{=4>r>_03sO-w*UYD delta 41 wcmey{BlWjOYJwe?fu)hDp^2e^iBY3Rs|RDN2UDvDbE^kSs|V{=4>r>_03pN-vH$=8 diff --git a/test/figures/init/ducted_fan.pdf b/test/figures/init/ducted_fan.pdf index ee01eb91fdafd08e69cc7da23331f73be3a6bfa3..7fa06395faeceea8ac2e5a85b3ca1015528559b3 100644 GIT binary patch delta 44 zcmX@{T;{}cnF)4Wh6YBa29_qKMuv?Ztsac69!#ws%&i_Qtsbnc9&B4Z*c*%iRj&=t delta 44 zcmX@{T;{}cnF)4W29`#qh9-svCT5Kutsac69!#ws%&i_Qtsbnc9&B4Z*c*%iRvZn| diff --git a/test/figures/init/electric_vehicle.pdf b/test/figures/init/electric_vehicle.pdf index 77f7fe81819054b670e8cc4e926948b7b382a192..f79754ff7c5598ed30765117a535294c9a7c9474 100644 GIT binary patch delta 35 qcmeCaEYN*fV1gZ&p@EU9fu)J5i9w@Bs|RDN2UDvD^HvWQXH5XiUkX+L delta 35 qcmeCaEYN*fV1gZ&fu)hDp^2e^iDjcls|RDN2UDvD^HvWQXH5Xi(F$7t diff --git a/test/figures/init/glider.pdf b/test/figures/init/glider.pdf index 3ed4210dc2f525f2c1a6ced1d12fbfba477e2226..53c9be3e403c2d00b4877f80ac06083a49d2f8b2 100644 GIT binary patch delta 44 zcmcb4QRe1FnF)4Wh6YBa29_pfrY4OZtsac69!#ws%&i_Qtsbnc9&B4Z*e7ZL096DH A(f|Me delta 44 zcmcb4QRe1FnF)4W29`#qh9-svrpApPtsac69!#ws%&i_Qtsbnc9&B4Z*e7ZL091nw A%m4rY diff --git a/test/figures/init/insurance.pdf b/test/figures/init/insurance.pdf index c66051d6f85353a0f15bfcdba9778a00777b1e20..5d168c116aaa2d5acedb132670b06bb5206e3df4 100644 GIT binary patch delta 20083 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 diff --git a/test/figures/init/jackson.pdf b/test/figures/init/jackson.pdf index a83e75685bc30c96a13f5ada34e86be5bb089db7..4da4cdc699c576187e09fd12e6686df9c3f744e2 100644 GIT binary patch delta 35 rcmaERR`~5%;R$wJh6YBa29_q~#-@!Ptsac69!#ws%v(KJmOcXj=Ozp} delta 35 rcmaERR`~5%;R$wJ29`#qh9-uF28N9utsac69!#ws%v(KJmOcXj=5h=z diff --git a/test/figures/init/robbins.pdf b/test/figures/init/robbins.pdf index fb4e0dd4f266b01e7cbc89da4d6eb76436daabfc..1f1e965b869da93003e953e2beb2eb0d94cf8778 100644 GIT binary patch delta 38 tcmX?oQ{?nbkqLHOh6YBa29_q~riP6ktsac69!#ws%&i_QTRm8tbpQi83 Date: Sat, 25 Oct 2025 09:53:06 +0200 Subject: [PATCH 5/8] up compat --- test/Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Project.toml b/test/Project.toml index 5183c77b..945f79b9 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -22,7 +22,7 @@ Ipopt = "1" JuMP = "1" MadNLPMumps = "0.5" NLPModels = "0.21" -NLPModelsIpopt = "0.10" +NLPModelsIpopt = "0.11" OptimalControl = "1" Plots = "1" Printf = "1" From a086ba91d8c3cdd7c441b268c1d37216978a366b Mon Sep 17 00:00:00 2001 From: Olivier Cots Date: Sat, 25 Oct 2025 10:38:48 +0200 Subject: [PATCH 6/8] remove from tests ducted_fan and insurance --- test/figures/init/beam.pdf | Bin 278752 -> 278752 bytes test/figures/init/chain.pdf | Bin 365199 -> 365199 bytes test/figures/init/double_oscillator.pdf | Bin 427645 -> 427645 bytes test/figures/init/ducted_fan.pdf | Bin 472008 -> 472008 bytes test/figures/init/electric_vehicle.pdf | Bin 272779 -> 272779 bytes test/figures/init/glider.pdf | Bin 469209 -> 469209 bytes test/figures/init/insurance.pdf | Bin 883969 -> 883969 bytes test/figures/init/jackson.pdf | Bin 321261 -> 321261 bytes test/figures/init/robbins.pdf | Bin 339147 -> 339147 bytes test/figures/init/robot.pdf | Bin 575413 -> 575413 bytes test/figures/init/rocket.pdf | Bin 360812 -> 360812 bytes test/figures/init/space_shuttle.pdf | Bin 723301 -> 723301 bytes test/figures/init/steering.pdf | Bin 465332 -> 465332 bytes test/figures/init/vanderpol.pdf | Bin 250429 -> 250429 bytes test/figures/solution/beam.pdf | Bin 273215 -> 273215 bytes test/figures/solution/chain.pdf | Bin 385371 -> 385371 bytes test/figures/solution/double_oscillator.pdf | Bin 452928 -> 452928 bytes test/figures/solution/ducted_fan.pdf | Bin 472054 -> 472054 bytes test/figures/solution/electric_vehicle.pdf | Bin 260790 -> 260790 bytes test/figures/solution/glider.pdf | Bin 438380 -> 438380 bytes test/figures/solution/insurance.pdf | Bin 943913 -> 943601 bytes test/figures/solution/jackson.pdf | Bin 320921 -> 320921 bytes test/figures/solution/robbins.pdf | Bin 356018 -> 356018 bytes test/figures/solution/robot.pdf | Bin 508774 -> 508774 bytes test/figures/solution/rocket.pdf | Bin 371757 -> 371757 bytes test/figures/solution/space_shuttle.pdf | Bin 751222 -> 751222 bytes test/figures/solution/steering.pdf | Bin 577869 -> 577869 bytes test/figures/solution/vanderpol.pdf | Bin 250886 -> 250886 bytes test/runtests.jl | 16 +++++++++------- 29 files changed, 9 insertions(+), 7 deletions(-) diff --git a/test/figures/init/beam.pdf b/test/figures/init/beam.pdf index 5b0a40f8965f5083253afdbaf19bd3a7bffa7b1a..8e88dc9b2a5939bdce28ef92fa48123d96451f23 100644 GIT binary patch delta 31 mcmaFRDEOdJaDo$?p@D&sk!hnxs|RDN2UDvD^HvX*84duezzOyM delta 31 mcmaFRDEOdJaDo$?fu)Iwp;@Cxs|RDN2UDvD^HvX*84duf+zJE$ diff --git a/test/figures/init/chain.pdf b/test/figures/init/chain.pdf index 488ecb7d6e40ffb793462f1cc3ec5e1e75ef46fd..261dfc8fd426067af54e7d71e719a2cf5e2d4c13 100644 GIT binary patch delta 34 pcmeBQD%QVLY=RS;p@D&sk!7Pts|RDN2UDvDbE^l-Ru5M9NdUjj3Vi?o delta 34 pcmeBQD%QVLY=RS;fu)Iwv2mkEs|RDN2UDvDbE^l-Ru5M9NdUmI3Wfjx diff --git a/test/figures/init/double_oscillator.pdf b/test/figures/init/double_oscillator.pdf index b2652ba6b92018d5c1c98db1975e6941e0f89697..0beae3b997e4206ac24bdfea3f1eb93995545aa9 100644 GIT binary patch delta 37 scmey{BlWjOYJwA+p@D&su~DN(s|RDN2UDvDbE^kSs|V{=4>r>_0Qe0H-T(jq delta 37 scmey{BlWjOYJwA+fu)Iwsd1x6s|RDN2UDvDbE^kSs|V{=4>r>_0QtoW?*IS* diff --git a/test/figures/init/ducted_fan.pdf b/test/figures/init/ducted_fan.pdf index 7fa06395faeceea8ac2e5a85b3ca1015528559b3..8818e64ba103dde99d24bb2acbbf64e3c94273df 100644 GIT binary patch delta 40 vcmX@{T;{}cnF&s8h6V;k#%7Hktsac69!#ws%&i_Qtsbnc9&B4Z*c*%iD7Xy% delta 40 vcmX@{T;{}cnF&s829_qKMuv?Ztsac69!#ws%&i_Qtsbnc9&B4Z*c*%iDbfuG diff --git a/test/figures/init/electric_vehicle.pdf b/test/figures/init/electric_vehicle.pdf index f79754ff7c5598ed30765117a535294c9a7c9474..ece37f319bca339571558e8aeeabc558ce4b0599 100644 GIT binary patch delta 29 kcmeCaEYN*fV1g5ip@D%>qg$&RW2+les~huHHx^e-0GRR#5dZ)H delta 29 kcmeCaEYN*fV1g5ifu)IQqg$&RW2+les~huHHx^e-0Gb2|AOHXW diff --git a/test/figures/init/glider.pdf b/test/figures/init/glider.pdf index 53c9be3e403c2d00b4877f80ac06083a49d2f8b2..651a08ad1993c42d56c57b1ffc08df7238d587e4 100644 GIT binary patch delta 40 wcmcb4QRe1FnF&s8h6V;kCdQ2(tsac69!#ws%&i_Qtsbnc9&B4Z*e7ZL04GNb_y7O^ delta 40 wcmcb4QRe1FnF&s829_pfrY4OZtsac69!#ws%&i_Qtsbnc9&B4Z*e7ZL04Yxm3IG5A diff --git a/test/figures/init/insurance.pdf b/test/figures/init/insurance.pdf index 5d168c116aaa2d5acedb132670b06bb5206e3df4..a87832837e97ed83b940cb16166f467291d5e5e3 100644 GIT binary patch delta 57 zcmV~$sS$uM006<^2|vAr3~2y!O<^L=(+q~vqS!4pmztj|95JS|AdR%rNiRVL8D)}L L7FlI`*}wY-Bk>Xx delta 57 zcmZqtW!m`5bb=GBfu)JLVWWGiJ7cRmQ>#03t2;}pJ8P>uTdO;Jt2;-lJ7=pqSF1aB Mt2@tDcivq!049ABA^-pY diff --git a/test/figures/init/jackson.pdf b/test/figures/init/jackson.pdf index 4da4cdc699c576187e09fd12e6686df9c3f744e2..9ea1725c196338cf2a24211c7d150848ec79d9c6 100644 GIT binary patch delta 31 ncmaERR`~5%;R#M`h6V;krUs23tsac69!#ws%v(KJmOcXjz`6@v delta 31 ncmaERR`~5%;R#M`29_q~#-@!Ptsac69!#ws%v(KJmOcXj!a)mh diff --git a/test/figures/init/robbins.pdf b/test/figures/init/robbins.pdf index 1f1e965b869da93003e953e2beb2eb0d94cf8778..09d7d91ccd7a989e577badc8718bfadf2863ebaf 100644 GIT binary patch delta 34 pcmX?oQ{?nbkqJ(0h6V;krpApPtsac69!#ws%&i_QTRm8tbpYEn3oHNt delta 34 pcmX?oQ{?nbkqJ(029_q~riP6ktsac69!#ws%&i_QTRm8tbpYI!3p)S+ diff --git a/test/figures/init/robot.pdf b/test/figures/init/robot.pdf index d9ea803ee7ed20b986e06b3ff67d9eb6020b3554..04a2597e501e96eeab2ddabc332d6c26e9bfd9d2 100644 GIT binary patch delta 43 ycmdnmue`Nid4dz0p@D&ssac~(s|RDN2UDvDbE^kSs|RbV2V1KL`&JK*+~WW-tPPF; delta 43 ycmdnmue`Nid4dz0fu)Isp-H1hs|RDN2UDvDbE^kSs|RbV2V1KL`&JK*+~WW{G0I#PC(f|Me delta 32 ocmdnHgn#c6{t0$m29`#qh9-uFMuv?Ztsac69!y(3n7>{G0I;kI-v9sr diff --git a/test/figures/solution/beam.pdf b/test/figures/solution/beam.pdf index 4b75e9b15c3ad278d442fbc02a44f13a635830e1..c42556a1ba49ea0631a8d5b7d8910f82dafed74d 100644 GIT binary patch delta 35 rcmdmgOvi AUjP6A diff --git a/test/figures/solution/electric_vehicle.pdf b/test/figures/solution/electric_vehicle.pdf index 9ad456c2399d9f70db43e48bf7ac153823233084..c586681b788b55c91660eb591ca573ed61aca958 100644 GIT binary patch delta 32 ocmdn?m4Dk;{t0$mh6YBah6V=4M&^wktsac69!y(3nDc%C0KhW~5C8xG delta 32 ocmdn?m4Dk;{t0$m29`#qh9-uFCI*cjtsac69!y(3nDc%C0KnG^761SM diff --git a/test/figures/solution/glider.pdf b/test/figures/solution/glider.pdf index 69205b7ac084965c0e54ecc645f5dd960710c9cc..4803cb35ef2e7b4156ad9c55d73b257ef9cccc29 100644 GIT binary patch delta 41 xcmaF!K001=;4NL$4 delta 41 xcmaF!K001?l4Nm|7 diff --git a/test/figures/solution/insurance.pdf b/test/figures/solution/insurance.pdf index eed6a52339f4664754b1e06d0b25835dd68241a7..3b41638a6592ac1a9686d82ea38edc99556be7ea 100644 GIT binary patch delta 20156 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 dKmW$H&%g2LpS&;2~> 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 diff --git a/test/figures/solution/jackson.pdf b/test/figures/solution/jackson.pdf index 599f7b098926425f5001ce7e0e268f79c1d7d8f9..2294a7e662e1327c444f10af9b87652afe404dbc 100644 GIT binary patch delta 35 rcmbPvT6pGZ;R$wJh6YBah6V;E28N9utsac69!#ws%v(KJ0-pi^&Q%K{ delta 35 rcmbPvT6pGZ;R$wJ29`#qh9-tahGvZ(tsac69!#ws%v(KJ0-pi^&&3Nf diff --git a/test/figures/solution/robbins.pdf b/test/figures/solution/robbins.pdf index 542152226b0ee0872abbb2e45b2487a749f2e8d7..41a9b7d1dd97634b5bb12f4831b64c33d40d44e7 100644 GIT binary patch delta 38 tcmdmVS9H@|(Ft~3h6YBah6V;E28N9utsac69!#ws%&i_QTRm8_@&Nm_3-AB{ delta 38 tcmdmVS9H@|(Ft~329`#qh9-tahGvZ(tsac69!#ws%&i_QTRm8_@&Nr<3;_TD diff --git a/test/figures/solution/robot.pdf b/test/figures/solution/robot.pdf index 00e68d9deb8a4537b68707a73f8c6189aeea8dce..5f3563d9b5151eb0a2769b3e57058e416b77451d 100644 GIT binary patch delta 44 zcmaFXCjYEWeu5pBp@EU9p@D&kfl;GJs|RDN2UDvDbE^kSs|RbV2isN;cDcg{~rJST6zq DYK;y_ delta 47 zcmX@RNcrp{{~rJST6zq DY~~JI diff --git a/test/figures/solution/vanderpol.pdf b/test/figures/solution/vanderpol.pdf index a69f922ca57e6a4d43cf98e86ee38b24331c1c9b..2024087d3bb9845adb269c730cd2317479ba9202 100644 GIT binary patch delta 32 ncmZo$!QZxme}WyCp@EU9p@D&kp-H1hs|RDN2h&y$=6#m|qf`n! delta 32 ncmZo$!QZxme}WyCfu)hDp^2f9k!7Pts|RDN2h&y$=6#m|q>&0u diff --git a/test/runtests.jl b/test/runtests.jl index 7290f778..89ae10fd 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -26,13 +26,15 @@ const MAX_WALL_TIME = 500.0 list_of_problems = OptimalControlProblems.problems() # Remove from the tests the following problems -# problems_to_exclude = [ -# :bioreactor, # no need to remove here since already removed in OptimalControlProblems.jl -# :cart_pendulum, # no need to remove here since already removed in OptimalControlProblems.jl -# :dielectrophoretic_particle, # no need to remove here since already removed in OptimalControlProblems.jl -# :moonlander, # no need to remove here since already removed in OptimalControlProblems.jl -# ] -# list_of_problems = setdiff(list_of_problems, problems_to_exclude) +problems_to_exclude = [ + # :bioreactor, # no need to remove here since already removed in OptimalControlProblems.jl + # :cart_pendulum, # no need to remove here since already removed in OptimalControlProblems.jl + # :dielectrophoretic_particle, # no need to remove here since already removed in OptimalControlProblems.jl + # :moonlander, # no need to remove here since already removed in OptimalControlProblems.jl + :ducted_fan, + :insurance, +] +list_of_problems = setdiff(list_of_problems, problems_to_exclude) # list_of_problems = [ # :jackson, From 3e32ded7d29c6ecaf2b50be8434f9d759b78279d Mon Sep 17 00:00:00 2001 From: Olivier Cots Date: Sat, 25 Oct 2025 11:06:14 +0200 Subject: [PATCH 7/8] revome final test --- test/runtests.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/runtests.jl b/test/runtests.jl index 89ae10fd..6f2d31bc 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -76,7 +76,7 @@ const VERBOSE = true # print or not details during tests display(problems()); println() - @testset "available_problems" verbose=VERBOSE begin - @test LIST_OF_PROBLEMS_FINAL == problems() - end + # @testset "available_problems" verbose=VERBOSE begin + # @test LIST_OF_PROBLEMS_FINAL == problems() + # end end From 45b00841076fce59db2cd53b18c3a7c65e60fb9e Mon Sep 17 00:00:00 2001 From: Olivier Cots Date: Sat, 25 Oct 2025 11:41:34 +0200 Subject: [PATCH 8/8] remove robot and space shutlle from the list of tests --- test/runtests.jl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/runtests.jl b/test/runtests.jl index 6f2d31bc..2e41616b 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -33,6 +33,8 @@ problems_to_exclude = [ # :moonlander, # no need to remove here since already removed in OptimalControlProblems.jl :ducted_fan, :insurance, + :robot, + :space_shuttle, ] list_of_problems = setdiff(list_of_problems, problems_to_exclude)