簡體   English   中英

文檔集! 中斷執行

[英]Docplex ! Interrupt the execution

我在 cplex python (docplex) 中執行了一個程序,它與 41 個解決方案的差距為 48%。 已經 2 天了,我問我是否可以中斷它並獲得結果,而無需重新開始執行限制間隙。

如果您在 Windows 上運行,您可以嘗試 CTRL C

如果這不起作用,

您可以做的是每次使用 1 個新解決方案再次運行您的 model,然后保存當前解決方案,然后每次中止您都有最新的解決方案

動物園故事的例子:

from docplex.mp.model import Model
from docplex.mp.progress import *

mdl = Model(name='buses')
nbbus40 = mdl.integer_var(name='nbBus40')
nbbus30 = mdl.integer_var(name='nbBus30')
mdl.add_constraint(nbbus40*40 + nbbus30*30 >= 300, 'kids')
mdl.minimize(nbbus40*500 + nbbus30*400)

mdl.parameters.mip.limits.solutions=1

while mdl.solve(log_output=False):
    
    for v in mdl.iter_integer_vars():
       print(v," = ",v.solution_value)
       
    print("status : ",mdl.solve_details.status)   
    if ("optimal solution" in str(mdl.solve_details.status)):
        break

這給了

nbBus40  =  8.0
nbBus30  =  0
status :  solution limit exceeded
nbBus40  =  7.0
nbBus30  =  1.0
status :  solution limit exceeded
nbBus40  =  6.0
nbBus30  =  2.0
status :  integer optimal solution

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM