【发布时间】:2012-06-17 21:02:19
【问题描述】:
您好,我有以下用于 linprog 优化的代码。
for j = 1:2
for i = 1:24
for K = 1:3
for M = 1:3
PV_output(:,:,:) = real(PV_power_output(:,:,:));
WT_output(:,:,:) = WT_power_output(:,:,:);
PVenergy = sum(sum(PV_output(:,:,1)));
WTenergy = sum(sum(WT_power_output(:,:,1)));
f= [((CRF*CC_PV)/PVenergy)+OM_PV; ((CRF*CC_WT)/WTenergy)+OM_WT];
A(:,:,:) = [-PV_output(:,:,K) -WT_output(:,:,M)];
b(:,:) = -Demand(j,i);
lb = zeros(2,1);
ub = [max_PV_area/PV_area max_WT_area/WT_area]';
end
end
end
end
x(:,j,i,K,M) = linprog(f,A,b,[],[],lb,ub)
WT_output 和 PV_output 是 3 维 365x24 数组,Demand 是 365x24
我正在尝试为 Demand 的每个 365x24 元素和每个维度优化 x1 和 x2,以便找到最佳的 K 和 M 组合
但是,就目前的代码而言,我不断收到错误消息 - “A 中的行数必须与 b 的元素数相同。”
有人有什么建议吗?
【问题讨论】:
-
您好,您可以尝试提供更短的代码以了解您遇到的问题吗?你也可以很好地缩进它。如果你的问题只是
linprog的使用,那么所有的for循环都是无用的,你应该问一个与这个问题完全相关的问题。然后,当您有一个工作代码时,请随时回来询问有关优化的问题。
标签: matlab linear-algebra mathematical-optimization linear-programming