Skip to content

Failed to merge multiple projects. #4609

Closed
@yinzhaobing

Description

@yinzhaobing

OR-Tools9.3.10497
Version: main/v9.3
Language: Python

Which solver are you using (e.g. CP-SAT)

What operating system (Windows10, ...) and version?

What did you do?
Steps to reproduce the behavior:
def merge_models(main_model, sub_models):
"""合并多个子模型到主模型""
main_model_Proto=main_model.Proto()
variable_offset = len(main_model_Proto.variables) # 获取主模型当前变量数量

for sub_model in sub_models:
    sub_model_Proto=sub_model.Proto()
    for var in sub_model_Proto.variables:
        new_var = cp_model.IntegerVariableProto()
        new_var.CopyFrom(var)
        main_model_Proto.variables.append(new_var)

    for constraint in sub_model_Proto.constraints:
        new_constraint = cp_model.ConstraintProto()
        new_constraint.CopyFrom(constraint)
        for i in range(len(new_constraint.vars)):
            new_constraint.vars[i] += variable_offset
        main_model_Proto.constraints.append(new_constraint)

    
    variable_offset = len(main_model_Proto.variables)

status = main_model.Validate()
print("status:", "ok" if status else "fail")
return main_model

print:fail

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions