@@ -223,6 +223,13 @@ function add_node!(graph::OptiGraph, optinode::OptiNode)
223223 return optinode
224224end
225225
226+ function add_node! (graph:: OptiGraph , m:: JuMP.Model , label:: String )
227+ optinode = add_node! (graph)
228+ set_model (optinode, m)
229+ optinode. label = label
230+ return optinode
231+ end
232+
226233"""
227234 optinodes(graph::OptiGraph)::Vector{OptiNode}
228235
@@ -927,6 +934,19 @@ function JuMP.start_value(graph::OptiGraph, variable::JuMP.VariableRef)
927934 return MOI. get (backend (graph), MOI. VariablePrimalStart (), var_idx)
928935end
929936
937+ function JuMP. set_attribute (
938+ graph:: OptiGraph ,
939+ attr:: MOI.AbstractModelAttribute ,
940+ value
941+ )
942+ MOI. set (graph, attr, value)
943+ return
944+ end
945+
946+ function JuMP. solver_name (graph:: OptiGraph )
947+ return MOI. get (graph. moi_backend, MOI. SolverName ())
948+ end
949+
930950"""
931951 JuMP.termination_status(graph::OptiGraph)
932952
@@ -936,6 +956,26 @@ function JuMP.termination_status(graph::OptiGraph)
936956 return MOI. get (graph. moi_backend, MOI. TerminationStatus ())
937957end
938958
959+ function JuMP. primal_status (graph:: OptiGraph )
960+ return MOI. get (graph. moi_backend, MOI. PrimalStatus ())
961+ end
962+
963+ function JuMP. dual_status (graph:: OptiGraph )
964+ return MOI. get (graph. moi_backend, MOI. DualStatus ())
965+ end
966+
967+ function JuMP. callback_value (cb_data, x:: GenericVariableRef , graph:: OptiGraph )
968+ return MOI. get (
969+ graph. moi_backend. optimizer,
970+ MOI. CallbackVariablePrimal (cb_data),
971+ index (x),
972+ )
973+ end
974+
975+ function JuMP. callback_node_status (cb_data, graph:: OptiGraph )
976+ return MOI. get (graph. moi_backend. optimizer, MOI. CallbackNodeStatus (cb_data))
977+ end
978+
939979# ###################################
940980# Print Functions
941981# ###################################
0 commit comments