Performance 在MATLAB中,求解循环内小型线性程序的最快方法是什么?
我在一个大时间循环中运行Performance 在MATLAB中,求解循环内小型线性程序的最快方法是什么?,performance,matlab,optimization,mathematical-optimization,linear-programming,Performance,Matlab,Optimization,Mathematical Optimization,Linear Programming,我在一个大时间循环中运行linprog,以解决小问题(m,n你能多说一点你想解的线性规划吗?有多少等式约束?不等式约束?迭代过程中会发生什么变化?目标函数?你试过不同的初始点吗?x0,这有什么不同吗?发现这一点:尝试解算器的“sqp”或“活动集”。然后选择一个解算器。当然,使用较少的迭代次数或更高的容差也可以加快速度。另一个想法(完全未经测试)由于matlab喜欢矢量化,并且可能会给小操作带来严重的开销,因此将几个小问题合并成一个更大的问题可能有助于加快速度。或者,如果您知道约束总是有约束力的,
linprog
,以解决小问题(m
,n
你能多说一点你想解的线性规划吗?有多少等式约束?不等式约束?迭代过程中会发生什么变化?目标函数?你试过不同的初始点吗?x0
,这有什么不同吗?发现这一点:尝试解算器的“sqp”或“活动集”。然后选择一个解算器。当然,使用较少的迭代次数或更高的容差也可以加快速度。另一个想法(完全未经测试)由于matlab喜欢矢量化,并且可能会给小操作带来严重的开销,因此将几个小问题合并成一个更大的问题可能有助于加快速度。或者,如果您知道约束总是有约束力的,则只计算可行区域的所有角点可能会更快。@Shai-对不起,我编辑了objective函数。是x
是一个向量,对于m
,n
for t =1:nt
for n = 1:N
linprog
end
end
max 1'x
s.t. Ax <= b
lb<=x<=ub