Dependent Variable operations?

조회 수: 4 (최근 30일)
Azime Beyza Ari
Azime Beyza Ari 2022년 4월 3일
편집: Torsten 2022년 4월 4일
Hello Everyone,
I am working on an optimization problem using genetic algorithm solver. I have 2 decision variables (x with 36x36 dimensions and y with 36x1 dimensions ). y is dependent to x. Like;
column sum of x is equal to row of y.
I introduced x and y like;
x = optimvar('x', [36,36], 'Type', 'integer', 'LowerBound',0,'UpperBound',1);
y = optimvar('y', [36,1]);
But i have a hard time doing the operation i want to do. How can i implement this (column sum of x is equal to row of y. ) into my code?
Any suggestions and opinions are welcome.
Thank you in advance!
Best,
Beyza.
  댓글 수: 7
Azime Beyza Ari
Azime Beyza Ari 2022년 4월 3일
So this is what i am trying to achive;
I have 2 decision variables (x with dimensions 36*36 and y with 36*1). The objective function only has x (binary) in it. y should be equal to the row summation of x values. If i can make this then i will use y's in my constraints. like;
if summation of first row of x is equal to 2
then the following inequality would be correct.
y(1,1) <= 3
so my constraint will be met.
PS. The x matrix rows should not be higher than some values becasue there are demands for each row (each row has different demand). If we place more than demand then there is unnecessary cost. So, i want to make sure we do not exceed the demand.
Torsten
Torsten 2022년 4월 3일
편집: Torsten 2022년 4월 4일
Aeq = zeros(36,36*36+36);
for i = 1:36
Aeq(i,(i-1)*36+1:i*36) = ones(1,36);
Aeq(i,36*36+i) = -1;
end
This gives the contribution of the constraint sum_i (xij) - y(j) = 0 for j=1,...,36 to Aeq if the vector of unknowns Z is ordered as
Z = [x11,x21,x31,...,x(36,1),x12,x22,x32,...,x(36,2),...,x(1,36),x(2,36),...,x(36,36),y1,y2,...,y36]
The corresponding part of the vector beq is
beq(1:36,1) = zeros(36,1)

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

답변 (0개)

카테고리

Help CenterFile Exchange에서 Genetic Algorithm에 대해 자세히 알아보기

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by