Привет, у меня есть следующий код, использующий linprog
for K = 1:3;
for M = 1:3;
PV_output(:,:,K) = real(PV_power_output(:,:,K));
PV =reshape(PV_output(:,:,1),8760,1);
WT_output(:,:,M) = WT_power_output(:,:,M);
WT = reshape(WT_output(:,:,1),8760,1);
PVenergy = sum(sum(PV_output(:,:,1)));
WTenergy = sum(sum(WT_power_output(:,:,1)));
% Linprog
f = [((CRF*CC_PV)/PVenergy)+OM_PV; ((CRF*CC_WT)/WTenergy)+OM_WT];
A(:,:) = [-PV -WT];
b(:,:) = -0.25.*Demand(:);
lb = zeros(2,1);
ub = [max_PV_area/PV_area; max_WT_area/WT_area]';
[x(:,K,M), fval, exitflag] = linprog(f,A,b,[],[],lb,ub)
end
end
Где PV = 8760x2, WT = 8760x2 и x = 2x1. Когда я запускаю эту программу, оптимизация сходится с выходным флагом 1, но я либо получаю значение x1 = 0, либо значение x2, равное определенному целому числу.
Почему вывод не дает смесь результатов (т. е. ненулевое значение как x1, так и x2?