2017-10-09 64 views
2

我是CPLEX和優化的(幾乎)初學者。我嘗試在Matlab中使用CPLEX(12.7.1)的新增功能來設置優化問題,該功能可以定義分段線性(PWL)約束。 但是,我不清楚如何在Matlab中做到這一點。這方面的文檔相當稀少。 IBM僅有一個示例(transport.m),它將分段線性約束定義爲線性均衡和類型2的SOS的組合。但是,這並不真正使用新增功能來直接指定分段線性函數。隨着變量數量和分段約束的增加,matlab中的過程變得非常麻煩。 您是否知道在Matlab中是否有以不同方式表達它的方法?用於MATLAB的CPLEX API中的分段線性約束

謝謝

回答

2

你提到在釋放宣佈新的分段線性約束支撐指出here(在12.7.0版本)。 MATLAB API不包含在該列表中。如果在MATLAB中直接使用功能對您很重要,您可以在IBM RFE Community中添加對它的請求。同時,您需要使用其他API(C,C++,Java,.NET,Python)之一。

您可以使用system命令從MATLAB內調用另一個可執行文件。另一方面,除了需要更多的工作之外,你現在的技術應該沒問題。

+0

感謝您的回答!事實上,我剛剛發現感謝您的鏈接,他們可能在編寫發行說明時犯了一個錯誤。 在[12.7.0]的發行說明中(https://www.ibm.com/support/knowledgecenter/en/SSSA5P_12.7.0/ilog.odms.cplex.help/CPLEX/ReleaseNotes/topics/releasenotes127/newPWL。 html)他們在API中提到了Matlab。 但是,在[12.7.1]的發行說明中(https://www.ibm.com/support/knowledgecenter/SSSA5P_12.7.1/ilog.odms.studio.help/CPLEX/ReleaseNotes/topics/releasenotes127/newPWL.html )他們刪除了那個。 –