add model cloning to model_builder python + sample

This commit is contained in:
Laurent Perron
2023-10-24 11:41:30 +02:00
parent a9e55b727c
commit d86dfadc86
6 changed files with 106 additions and 0 deletions

View File

@@ -631,6 +631,12 @@ class ModelBuilder:
def __init__(self):
self.__helper: mbh.ModelBuilderHelper = mbh.ModelBuilderHelper()
def clone(self) -> "ModelBuilder":
"""Returns a clone of the current model."""
clone = ModelBuilder()
clone.helper.overwrite_model(self.helper)
return clone
@typing.overload
def _get_linear_constraints(self, constraints: Optional[pd.Index]) -> pd.Index:
...

View File

@@ -169,6 +169,7 @@ PYBIND11_MODULE(model_builder_helper, m) {
py::class_<ModelBuilderHelper>(m, "ModelBuilderHelper")
.def(py::init<>())
.def("overwrite_model", &ModelBuilderHelper::OverwriteModel, arg("other_helper"))
.def("export_to_mps_string", &ModelBuilderHelper::ExportToMpsString,
arg("options") = MPModelExportOptions())
.def("export_to_lp_string", &ModelBuilderHelper::ExportToLpString,