Can this problem be expressed as a MILP problem?
1 view (last 30 days)
Show older comments
Hello community,
I was wondering whether the following problem can be expressed as a mixed integer linear programming (MILP) problem. I am new to this field.
The objective function is in parenthesis including the square (minimize the difference of the sum in brackets from the constant M).
i = 1,2,...N
c is my decision variable vector (should take values of either 0 or 1)
x, R, and M are knowns
E is a function of x
I is a function of V
The tricky part is that V is also equal to E(x)+R*I(V) and has one unique value
Also, E and I are functions given through data interpolation without real mathematical expression.
The outputs should be c, E, I, V (the last two have one value each, the first two should be vectors)
Could this be solved as a MILP problem through MATLAB?
I have solved this problem in two different ways, but it is interesting to see if there could be a more effective/fast method (such as MILP) that is easily expandable once implemented.
Thanks in advance,
Giannis
Edit:
0 Comments
Answers (1)
Bruno Luong
on 27 Aug 2020
Edited: Bruno Luong
on 27 Aug 2020
"The tricky part is that V is also equal to E(x)+R*I(V) and has one unique value."
Can we then assume this value is V(i) and known for any i? For any i solve it independently and put in an array.
If yes then your problem is simply find a combinations draw from V(1:N) such as the sum is closest to M.
This can be solve, yes as MILP, dynamic programming, etc...
3 Comments
Bruno Luong
on 27 Aug 2020
Edited: Bruno Luong
on 27 Aug 2020
"Note, this is the correct expression for V, I did not define it properly in my question. Sorry if that caused any confusion. "
Oh yeah you should be.
Ahd your second definition does not make sense to me either. ci is not defined BEFORE you solve the minimum so what is it? You cannot define an objective function that depends on the solution ! That is absurbe.
And then you remove entirely Ri*I(V) in the cost function, fine why not. But then the problem becomes almost ike what I wrote earlier and can be trivial solved:
simply find a combinations draw from E(1:N) := E(xi) such as the sum is closest to M.
Al that to me that either
- I don't understand what you want
- You don't understand what you want
I'll flag this question unclear, sorry
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!