@@ -755,22 +755,14 @@ extended using the following steps:
755
755
5 . If appropriate and NOT a [ ` JuMPBackend ` ] ( @ref ) , extend the following:
756
756
- [ ` transformation_model ` ] (@ref transformation_model(::AbstractTransformationBackend))
757
757
- [ ` transformation_data ` ] (@ref transformation_data(::AbstractTransformationBackend))
758
- - [ ` JuMP.set_attribute ` ] (@ref JuMP.set_attribute(::AbstractTransformationBackend, ::Any, ::Any))
759
- - [ ` JuMP.get_attribute ` ] (@ref JuMP.get_attribute(::AbstractTransformationBackend, ::Any))
758
+ - [ ` JuMP.set_attribute ` ] (@ref JuMP.set_attribute(::AbstractTransformationBackend, ::Any, ::Any)) (including the suggested attributes)
759
+ - [ ` JuMP.get_attribute ` ] (@ref JuMP.get_attribute(::AbstractTransformationBackend, ::Any)) (including the suggested attributes)
760
760
- [ ` JuMP.optimize! ` ] (@ref JuMP.optimize!(::AbstractTransformationBackend))
761
761
- [ ` JuMP.set_optimizer ` ] (@ref JuMP.set_optimizer(::AbstractTransformationBackend, ::Any))
762
- - [ ` JuMP.set_silent ` ] (@ref JuMP.set_silent(::AbstractTransformationBackend))
763
- - [ ` JuMP.unset_silent ` ] (@ref JuMP.unset_silent(::AbstractTransformationBackend))
764
- - [ ` JuMP.set_time_limit_sec ` ] (@ref JuMP.set_time_limit_sec(::AbstractTransformationBackend, ::Any))
765
- - [ ` JuMP.time_limit_sec ` ] (@ref JuMP.time_limit_sec(::AbstractTransformationBackend))
766
- - [ ` JuMP.unset_time_limit_sec ` ] (@ref JuMP.unset_time_limit_sec(::AbstractTransformationBackend))
767
- - [ ` JuMP.solver_name ` ] (@ref JuMP.solver_name(::AbstractTransformationBackend))
768
762
- [ ` JuMP.bridge_constraints ` ] (@ref JuMP.bridge_constraints(::AbstractTransformationBackend))
769
763
- [ ` JuMP.add_bridge ` ] (@ref JuMP.add_bridge(::AbstractTransformationBackend, ::Any))
770
764
- [ ` JuMP.print_active_bridges ` ] (@ref JuMP.print_active_bridges(::IO,::AbstractTransformationBackend))
771
765
- [ ` JuMP.print_active_bridges ` ] (@ref JuMP.print_active_bridges(::IO,::AbstractTransformationBackend))
772
- - [ ` JuMP.set_string_names_on_creation ` ] (@ref JuMP.set_string_names_on_creation(::AbstractTransformationBackend))
773
- - [ ` JuMP.set_string_names_on_creation ` ] (@ref JuMP.set_string_names_on_creation(::AbstractTransformationBackend, ::Any))
774
766
- [ ` JuMP.compute_conflict! ` ] (@ref JuMP.compute_conflict!(::AbstractTransformationBackend))
775
767
- [ ` JuMP.copy_conflict ` ] (@ref JuMP.copy_conflict(::AbstractTransformationBackend))
776
768
- [ ` JuMP.mode ` ] (@ref JuMP.mode(::AbstractTransformationBackend))
@@ -785,21 +777,7 @@ extended using the following steps:
785
777
- [ ` InfiniteOpt.expression_supports ` ] ( @ref )
786
778
- [ ` InfiniteOpt.constraint_supports ` ] ( @ref )
787
779
8 . As appropriate and if NOT a ` JuMPBackend ` , extend the following:
788
- - [ ` JuMP.termination_status ` ] (@ref JuMP.termination_status(::AbstractTransformationBackend))
789
- - [ ` JuMP.raw_status ` ] (@ref JuMP.raw_status(::AbstractTransformationBackend))
790
- - [ ` JuMP.solve_time ` ] (@ref JuMP.solve_time(::AbstractTransformationBackend))
791
- - [ ` JuMP.simplex_iterations ` ] (@ref JuMP.simplex_iterations(::AbstractTransformationBackend))
792
- - [ ` JuMP.barrier_iterations ` ] (@ref JuMP.barrier_iterations(::AbstractTransformationBackend))
793
- - [ ` JuMP.node_count ` ] (@ref JuMP.node_count(::AbstractTransformationBackend))
794
- - [ ` JuMP.objective_bound ` ] (@ref JuMP.objective_bound(::AbstractTransformationBackend))
795
- - [ ` JuMP.relative_gap ` ] (@ref JuMP.relative_gap(::AbstractTransformationBackend))
796
- - [ ` JuMP.result_count ` ] (@ref JuMP.result_count(::AbstractTransformationBackend))
797
- - [ ` JuMP.primal_status ` ] (@ref JuMP.primal_status(::AbstractTransformationBackend))
798
- - [ ` JuMP.dual_status ` ] (@ref JuMP.dual_status(::AbstractTransformationBackend))
799
- - [ ` JuMP.has_values ` ] (@ref JuMP.has_values(::AbstractTransformationBackend))
800
- - [ ` JuMP.has_duals ` ] (@ref JuMP.has_duals(::AbstractTransformationBackend))
801
- - [ ` JuMP.objective_value ` ] (@ref JuMP.objective_value(::AbstractTransformationBackend))
802
- - [ ` JuMP.dual_objective_value ` ] (@ref JuMP.dual_objective_value(::AbstractTransformationBackend))
780
+ - The remaining result related attributes listed in [ ` JuMP.get_attribute ` ] (@ref JuMP.get_attribute(::AbstractTransformationBackend, ::Any))
803
781
- [ ` JuMP.lp_sensitivity_report ` ] (@ref JuMP.lp_sensitivity_report(::AbstractTransformationBackend))
804
782
9 . If Step 6 was skipped and/or the backend is NOT a ` JuMPBackend ` then extend the following:
805
783
- [ ` InfiniteOpt.map_value ` ] ( @ref ) (enables ` JuMP.value ` )
@@ -1067,7 +1045,6 @@ are enabled via Step 6 where we extend:
1067
1045
- [ ` transformation_variable ` ] (@ref transformation_variable(::GeneralVariableRef, ::AbstractTransformationBackend))
1068
1046
- [ ` transformation_expression ` ] (@ref transformation_expression(::Any, ::AbstractTransformationBackend))
1069
1047
- [ ` transformation_constraint ` ] (@ref transformation_constraint(::InfOptConstraintRef, ::AbstractTransformationBackend))
1070
- [ ` transformation_expression ` ] ( @ref ) , and [ ` transformation_constraint ` ] ( @ref )
1071
1048
to return the variable(s)/expression(s)/constraint(s) in the backend.
1072
1049
These will use the ` DeterministicData ` and should error if no mapping can be
1073
1050
found.
0 commit comments