Changing decision variables in linprog

조회 수: 3 (최근 30일)
bus14
bus14 2019년 5월 8일
댓글: bus14 2019년 5월 8일
Hi!
I am fixing an optimization problem and have a new situation in which I have 2 decision variables that are different for every instance from [0-200] and 1 decision variable which should not change. I am using lin prog. but I do not know how to code this, as linprog normally just optimizes regarding Y,X,Z instead of in my case Y(k),Z(k) and X.
My code is:
clear all
% linprog loop to optimize multiple instances of the problem.
pd=makedist('normal','mu',100,'sigma',10)
demand=[0:1:200];
prob=normpdf(demand,100,10);
pk=zeros(size(prob));
i=1;
j=1;
l = 1;
q = 11;
s = 2;
A1 = 1;
c=10;
Etot=0;
for k=1:1:200;
pk(k)=prob(k);
f2 = [c',pk(k)*-s.',pk(k)*(l-q).']; % or [c',-s.',(l-q).']
Aeq = [-1,1,A1.']; %[x y z] --> Want it to be [X Y(k) Z(k)]
beq = [0];
lb = [0,0,0];
ub = [inf,inf,k];
sol = linprog(f2,[],[],Aeq,beq,lb,ub);
x= sol(1);
y(k) = sol(2);
z(k) = sol(3);
E(k)=pk(k)*(-s*y(k)+(l-q)*z(k));
Etot=Etot+E(k);
end
constraint that I holds for this problem is Y(k)+A1.'*Z(k)=X I changed it around to Y(k)+A1.'*Z(k)-X=0 as beq can only hold a value and not a variable X. When I run this code the output is zero for every instance. This shouldn't be the case. Does anyone know what I am doing.
I would like to get in the constraint that Y and Z change for every instance of K and that X holds the same value for every instance.
I hope this is possible.
Thankyou!
  댓글 수: 3
bus14
bus14 2019년 5월 8일
편집: bus14 2019년 5월 8일
bus14
bus14 2019년 5월 8일
Sorry, I cannot find a way to better upload this photo, but this is the description of my problem I want to code into Matlab. X is independent of the scenario and Z & Y are dependent. for every scenario k Z and Y take differnt values and have a different probability of occurence. I want to put this al into 1 objective function to minize it and find the optimal decision variables. X, Z and Y. For pk a normal distribtion is used. And k=1:1:200. Solving this problem should give me an optimal value for X. Which I later on can use to find the real optimal values for Z and Y for 1 specific instance.
Sorry to bother you a lot with my questions. But it is important for that I have this code running and working properly.

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Solver Outputs and Iterative Display에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by