How can i implement a second decision variable which is not in the objective function?

1 view (last 30 days)
hello everyone,
I am working on an optimization problem where i have 2 decision variable. One of the variable is xij, which is directly in the objective function, other one is yj, which is not in the objective function, it is in my constraints. yj is dependent to xij.
xij is an binary variable where i want solver to decide if xij is 1 or 0, and yj is the row summation of xij. here is an example;
lets say that the solver gave me a solution for xij like this;
x = [ 1 0 1 1; 0 0 1 0; 1 1 0 0]
i want yj to be column or a row vector it does not matter (preferably column)
yj = [ (1 +0 +1=) 2 ; (0 + 0+ 1=) 1; (1+1+0=)2 ; (1+0+0=)1]
I have other constraints where i use yj.
here is my model; (p=67) (M is some large number like 1000)
My first question is that; can i do this kind of an operation?
second Q : how can i do this?
Ps: I am using genetic algorithm solver!
thak you in advance!
Best,
Beyza.
  9 Comments
Azime Beyza Ari
Azime Beyza Ari on 28 Mar 2022
I understood what you are saying. Thank you this is the answer.
i do not have equality constraints so Aeq and Beq will be empty. However, A and b, will be very big matrix and vector.
A will have an dimension of approxiametly 125x1332, so this is very unlogical to write manuelly. I will try to write them with a for loop if i can.
Again thank you!
Torsten
Torsten on 28 Mar 2022
Edited: Torsten on 28 Mar 2022
My pleasure.
And use "intlinprog" instead of "ga" if the problem remains unchanged.
Setting up the matrix A and the vector b is the same for both solvers.

Sign in to comment.

Answers (0)

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!