# How can I make the negative output values of the linprog optimization to be treated as if they was positive when optimizing a problem?

8 views (last 30 days)

Show older comments

My output is as follows (being printed into an external file):

Gen1 P: 0.00 Gen2 P: 200.00 P12: 66.67 P13: -66.67 P32: 133.33

It is a power flow problem, and the output might therefore be negative if power flows in a different direction to my chosen one. What the optimizer clearly does, is treating the negative value as a "gain" and hence it tries to maximize this value (only constrained by the bounds and other constraints I have defined). I need this negative value to be treated as a positive one when optimizing, as negative only indicates direction and not a gain. In other words, I need the negative value to be minimized in the same manner as a positive value. Is there an option to do this directly when launching the optimizer?

##### 1 Comment

Walter Roberson
on 14 Nov 2013

### Accepted Answer

Matt J
on 14 Nov 2013

Edited: Matt J
on 14 Nov 2013

I need this negative value to be treated as a positive one when optimizing, as negative only indicates direction and not a gain.

Then the objective function is not linear and linprog is not applicable. Consider applying lsqlin() instead to the quadratic function

diag(f)*[Gen1; Gen2; P12; P13^2; P32]

where f is the same weight vector that you used in linprog for the objective function.

##### 1 Comment

Matt J
on 14 Nov 2013

Edited: Matt J
on 14 Nov 2013

### More Answers (2)

Ben Petschel
on 15 Nov 2013

##### 0 Comments

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!