Dear all,
While I am using Stata for many years I have never really worked with Mata. Now, I try to set up a linear optimization model for the first time. Despite reading through the manual, I am running into some (probably beginner's) questions.
The (simplfied) model set-up is as follows:
I started with programming this:
The struggle begins for me already when I have multiple restrictions for the same variable.
For now i have in particular the following questions:
1. How do I define multiple constraints for the same variable? Do I use the J(.,.) function for that?
2. How can I refer to other variables within the constraint of another variable? This would be necessary for ∆x1 + ∆x2 + ∆x3 = ∆y
Any other comments or recommendations are also welcome.
Thank you!
Best wishes,
Sebastian
While I am using Stata for many years I have never really worked with Mata. Now, I try to set up a linear optimization model for the first time. Despite reading through the manual, I am running into some (probably beginner's) questions.
The (simplfied) model set-up is as follows:
Code:
Objective funtion: min(r_x1 * ∆ x1 + r_x2 * ∆ x2 - r_x3 * ∆x3) Constraints: ∆x1 + ∆x2 + ∆x3 = ∆y -∆x1 <= x1 -∆x2 <= x2 -∆x3 <= x3 ∆x1 <= a ∆x1 + ∆x2 <= b L <= U - ∆x1 - ∆x2 + ∆y
I started with programming this:
Code:
d_y = st_data(., ("d_y")) x1 = st_data(., ("x1")) x2 = st_data(., ("x2")) x3 = st_data(., ("x3")) r_x1 = st_data(., ("r_x1")) r_x2 = st_data(., ("r_x2")) r_x3 = st_data(., ("r_x3")) b = st_data(., ("a)) a = st_data(., ("b")) // Objective function c = (r_x1, r_x2, -r_x3) // Restrictions Aec = (1 + 1 + 1) bec = (d_y) // Bounds lowerbd = (-x1, -x2, -x3) upperbd = ????
For now i have in particular the following questions:
1. How do I define multiple constraints for the same variable? Do I use the J(.,.) function for that?
2. How can I refer to other variables within the constraint of another variable? This would be necessary for ∆x1 + ∆x2 + ∆x3 = ∆y
Any other comments or recommendations are also welcome.
Thank you!
Best wishes,
Sebastian
Comment