Multi-Objective Optimization solved by Knitro

61 views
Skip to first unread message

Henry Chan

unread,
May 24, 2007, 12:45:03 AM5/24/07
to KNITRO Nonlinear Optimization Solver, Todd Plantenga
Hi, Todd,

I just note that there is a case study about "KNITRO for Nonlinear
Optimal Power Flow Applications". KNITRO is used to solve OPF
problems, including cost minimization, multi-objective optimization,
and stochastic programming. Networks are modeled using nonlinear AC
power balance equations. October 2006. In this case study, it solves
the two conflicting goals.

>From my knowledge, Multi-objective optimization is trying to solve the
minimization of multiple objective functions that are subject to a set
of constraints. One formulation of multi-objective optimization
problems is mini-max other than goal achievement. The mini-max problem
concerns with the minimizing the value of a set of multivariate
functions, governed by linear and/or nonlinear constraints.

>From this case study, can I say that Knitro can solve all the Multi-
Objective optimization problems both the goal achievement and mini-
max?

Thanks for your kind help and attention.

Best regards,
Henry Kar Ming Chan

Todd Plantenga

unread,
May 24, 2007, 9:39:55 AM5/24/07
to KNITRO Nonlinear Optimization Solver
I am not certain about the jargon in the multi-objective area,
so I will answer with mathematical formulations.

If you have different objective functions f1(x), f2(x), f3(x), ...
then one way to minimize the whole set is to define a weighted
sum of objectives:
min w1*f1(x) + w2*f2(x) + w3*f3(x) + ...
subject to all the constraints.
The user specifies weight constants and poses this problem
to KNITRO, and then it is solved like any other NLP.

I think what you mean by "mini-max" is to solve:
min max { f1(x), f2(x), f3(x), ... }
subject to all the constraints.
Although one could write such a function, it is nonsmooth
because of the max{} operator. Instead, convert this to an
equivalent smooth problem by adding one new variable z:
min z
subject to z >= f1(x)
z >= f2(x)
z >= f3(x)
...
all the other constraints.
This smooth NLP formulation can be solved by KNITRO.

Reply all
Reply to author
Forward
0 new messages