コード例 #1
0
mdl.add(end_before_start(facade,    moving))
mdl.add(end_before_start(garden,    moving))
mdl.add(end_before_start(painting,  moving))


##############################################################################
# Solving
##############################################################################

# Trace model
if False:
    from CpoCompiler import *
    cplr = CpoCompiler(mdl)
    cplr.set_source_location(False)
    cplr.print_model()

# Solve model
print("Solving model....")
msol = mdl.solve()
print("Solution: ")
msol.print_solution()


##############################################################################
# Display result
##############################################################################

# Draw solution
if msol and visu.is_visu_enabled():
    visu.show(msol)
コード例 #2
0
             for j in range(nbMchs)])))

##############################################################################
# Model solving
##############################################################################

# Solve model
print("Solving model....")
msol = mdl.solve(FailLimit=10000)
print("Solution: ")
msol.print_solution()

##############################################################################
# Display result
##############################################################################

# Draw solution
if msol and visu.is_visu_enabled():
    visu.timeline("Solution for open-shop " + filename)
    visu.panel("Jobs")
    for i in range(nbJobs):
        visu.sequence(name='J' + str(i),
                      intervals=[(msol.get_var_solution(ITVS[i][j]), j,
                                  'M' + str(j)) for j in range(nbMchs)])
    visu.panel("Machines")
    for j in range(nbMchs):
        visu.sequence(name='M' + str(j),
                      intervals=[(msol.get_var_solution(ITVS[i][j]), j,
                                  'J' + str(i)) for i in range(nbJobs)])
    visu.show()