【发布时间】:2014-04-09 09:47:10
【问题描述】:
我有兴趣在 MATLAB 中求解数百个线性系统。目前这是通过linprog的for循环完成的
所使用的向量具有相同的维度,并且是一个矩阵的行。
for combination_id = 1:1000
[tempOperatingPointsVectors,tempTargetValue, exitflag] = ...
linprog( lo_c(combination_id,:), ...
[], [], ...
lo_G(:,:,combination_id), lo_d(:,combination_id), ...
lo_u(:,combination_id), lo_v(:,combination_id), ...
x0_in, options);
end
有没有办法将linprog 与整个向量一起使用,而不是选择每一行?
我还尝试了parfor 循环,但由于每个循环中的操作非常小,因此速度没有提高。
【问题讨论】:
-
一个想法是重新实现算法(例如单纯形)并在合适的地方添加矩阵运算。有人知道在哪里可以找到具有上下边界的 Matlab 单纯形代码吗?
标签: performance matlab mathematical-optimization linear-programming