gpt4 book ai didi

matlab - 将 MATLAB 与 AMPL 结合使用

转载 作者:太空宇宙 更新时间:2023-11-03 20:21:09 25 4
gpt4 key购买 nike

我有一系列用 AMPL 和 GAMS 编写的优化问题。我在 Matlab 中有一个算法。如何在 Matlab 中用算法解决这些问题?我读过有关 GAMS 的 GDXMRW 接口(interface),但据我了解它只能在 Matlab 和 GAMS 之间交换数据?那么是否有必要在 GAMS 中执行所有梯度、导数等计算,然后将这些结果提供给 Matlab?也许有人知道如何连接这个?

最佳答案

(免责声明:我在 MathWorks 工作。)

我迟到了 3 年,但对于阅读本文的其他人,您可以使用 https://www.mathworks.com/matlabcentral/fileexchange/64634-ampl-interface-to-matlab .对于 AMPL 问题,我认为这正是您要找的。

它为您提供了 AMPL 问题的接口(interface)(存储在 nl 文件或 AMPL-API 的对象中 https://ampl.com/api/1.2.2/matlab/quick-start.html )。对于您问题中的非线性函数,您可以要求对任何点进行目标值、梯度和 hessian 计算。线性和二次函数作为 MATLAB 数组和矩阵存储在下面的 amplprob 字段中。

一个典型的用法是

>> amplprob = amplread('my_problem.nl')
>> % objective value of the first nonlinear objective function
>> f = nonlinobjective(amplprob,x,1)
>> % value, gradient and hessian of the first nonlinear objective function
>> [f,J,H] = nonlinobjective(amplprob,x,1)
>> % value and gradient of the second nonlinear constraint at x
>> [g, G] = nonlinconstr(amplprob,x,2);

关于matlab - 将 MATLAB 与 AMPL 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26296567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com