maybe I would like to do it with simplex method(My benchmark in Excel) or wahatever method is the best... thank you!
Optimization giving unexpected results
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi, I'm trying to optimize a function which I know the results but matlab is giving me weird results. Here's what I'm trying to do:
max: f(x)= 1815x1+379x2
subject to: -1475x1-112013x2 >= -700000
x1,,x2<=80
x1,x2>=0
How would you do it?
3 Kommentare
Akzeptierte Antwort
Yu Jiang
am 11 Aug. 2014
Bearbeitet: Yu Jiang
am 11 Aug. 2014
Hi Gimpy
Since linprog finds the minimum for the function f(x) but the problem you are trying to solve is a maximization problem, I suggest you change f = [1815;379] to f = -[1815;379]. That is to say, you solve the following problem instead
min: f(x)= - 1815x1 -379x2
subject to: -1475x1-112013x2 >= -700000
x1,,x2<=80
x1,x2>=0
There will only be a sign difference on the objective function. The optimal solutions x will be the same.
-Yu
6 Kommentare
Yu Jiang
am 11 Aug. 2014
Hi Gimpy
The answer seems not correct, since -1475*40 -11203*80 = -955240 <=700000, meaning the first inequality constraint is not satisfied.
Also, linprog treats inequality constraints as "<=" by default, not ">=". So your A and b matrices should be A = [1475 11203] and b = 700000
-Yu
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!