2015-11-19 73 views
0

如何使用數組作爲傳遞參數從Java程序調用Minizinc模型? 有沒有特別的命令來做到這一點?來自Java的調用Minizinc模型

+0

究竟是什麼,你想傳遞?數據? MiniZinc代碼? MiniZinc型號的名稱? – hakank

+0

這裏有更多的細節:我有一個Java程序,並希望納入minizinc模型,它可以用來處理一些數據(數組)並將結果返回給我的java程序。我可以直接從java程序調用minizinc模型嗎?如果我不能這意味着我必須手動運行minizinc模型以便爲我的java程序處理一些數據? – jan06

回答

1

我經常這樣做,但在Python中。可能沒有任何模塊或擴展可以以任何方便的方式集成呼叫,但調用另一個程序很容易。

由於我沒有在Java中嘗試過,所以我會讓另一個堆棧溢出後指導您:Execute external program in java

您可以將參數傳遞給-D "var_int_name=10;var_int_array=[1,2,3];",也可以將數據文件作爲調用MiniZinc的最後一個參數。

一般的技巧是讓你的MiniZinc模型的輸出很容易識別和分析,因爲許多解算器打印額外的東西,而不僅僅是解決方案。例如MiniZinc自己在解決方案之間打印----------。用&或任何其他易於通過計算機查找和解析的符​​號環繞答案。您可能還想驗證您是否確實獲得瞭解決方案。