Skip to content

Commit b33104c

Browse files
authored
Merge pull request #210 from control-toolbox/209-general-affichage-solution
compact print for sol
2 parents db7af8f + 3ad2d21 commit b33104c

File tree

3 files changed

+23
-60
lines changed

3 files changed

+23
-60
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "CTModels"
22
uuid = "34c4fa32-2049-4079-8329-de33c2a22e2d"
33
authors = ["Olivier Cots <olivier.cots@toulouse-inp.fr>"]
4-
version = "0.6.7"
4+
version = "0.6.8"
55

66
[deps]
77
CTBase = "54762871-cc72-4466-b8e8-f6c8b58076cd"

src/solution.jl

Lines changed: 20 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -697,68 +697,29 @@ end
697697
"""
698698
$(TYPEDSIGNATURES)
699699
700-
Prints the solution.
700+
Print the solution.
701701
"""
702702
function Base.show(io::IO, ::MIME"text/plain", sol::Solution)
703-
println(io, "Optimal Control Solution")
704-
println(io, "────────────────────────")
705-
706-
# Status
707-
println(io, "• Successful : ", successful(sol))
708-
println(io, "• Status : ", status(sol))
709-
println(io, "• Message : ", message(sol))
710-
println(io, "• Iterations : ", iterations(sol))
711-
println(io, "• Objective : ", objective(sol))
712-
println(io, "• Constraint violation: ", constraints_violation(sol))
713-
714-
println(io)
715-
println(io, "Time")
716-
println(io, "────")
717-
println(io, "• Name : ", time_name(sol))
718-
println(io, "• Grid : ", time_grid(sol))
719-
println(io, "• Grid length : ", length(time_grid(sol)))
720-
721-
println(io)
722-
println(io, "State")
723-
println(io, "─────")
724-
println(io, "• Name : ", state_name(sol))
725-
println(io, "• Dimension : ", state_dimension(sol))
726-
println(io, "• Components : ", join(state_components(sol), ", "))
727-
728-
println(io)
729-
println(io, "Control")
730-
println(io, "───────")
731-
println(io, "• Name : ", control_name(sol))
732-
println(io, "• Dimension : ", control_dimension(sol))
733-
println(io, "• Components : ", join(control_components(sol), ", "))
734-
735-
# Variable block (optional)
736-
v_dim = variable_dimension(sol)
737-
if v_dim > 0
738-
println(io)
739-
println(io, "Variable")
740-
println(io, "────────")
741-
println(io, "• Name : ", variable_name(sol))
742-
println(io, "• Dimension : ", v_dim)
743-
println(io, "• Components : ", join(variable_components(sol), ", "))
744-
println(io, "• Value : ", variable(sol))
703+
# Résumé solveur
704+
println(io, "• Solver:")
705+
println(io, " ✓ Successful : ", successful(sol))
706+
println(io, " │ Status : ", status(sol))
707+
println(io, " │ Message : ", message(sol))
708+
println(io, " │ Iterations : ", iterations(sol))
709+
println(io, " │ Objective : ", objective(sol))
710+
println(io, " └─ Constraints violation : ", constraints_violation(sol))
711+
712+
# Variable (si définie)
713+
if variable_dimension(sol) > 0
714+
println(io, "\n• Variable: ", variable_name(sol), " = (", join(variable_components(sol), ", "), ") = ", variable(sol))
715+
if dim_variable_constraints_box(model(sol)) > 0
716+
println(io, " │ Var dual (lb) : ", variable_constraints_lb_dual(sol))
717+
println(io, " └─ Var dual (ub) : ", variable_constraints_ub_dual(sol))
718+
end
745719
end
746720

747-
println(io)
748-
println(io, "Duals")
749-
println(io, "─────")
750-
println(io, "• Boundary constraints dual: ", boundary_constraints_dual(sol))
751-
if v_dim > 0
752-
println(io, "• Variable constraints dual (lb): ", variable_constraints_lb_dual(sol))
753-
println(io, "• Variable constraints dual (ub): ", variable_constraints_ub_dual(sol))
721+
# Boundary constraints duals
722+
if dim_boundary_constraints_nl(model(sol)) > 0
723+
println(io, "\n• Boundary duals: ", boundary_constraints_dual(sol))
754724
end
755725
end
756-
757-
# """
758-
# $(TYPEDSIGNATURES)
759-
760-
# """
761-
# function Base.show_default(io::IO, sol::Solution)
762-
# return print(io, "Optimal Control Solution")
763-
# #show(io, MIME("text/plain"), sol)
764-
# end

test/extras/print_model.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,5 @@ ocp, sol, pre_ocp = solution_example();
1212
ocp
1313

1414
pre_ocp
15+
16+
sol

0 commit comments

Comments
 (0)