How to write main and sub objective for optimisation

  • #1
I have had this problem that I didn't know how to write it properly in this thread.

Let's say I have two objective functions:
  1. minimize X
  2. minimize Y
Let's say I want 1. as main objective and 2. a sub objective - by that I mean if there is a set of optimal solutions for 1., then final solution can only be from that set and in such a way that it's the best for 2 from all of that set for 1.

My problem is I don't know how to write this down properly.

The only idea I have had so far doesn't work in all cases:
If [itex]0 \leq Y \leq C[/itex] and [itex]C \in \mathbb{R}_{\geq 0}[/itex], then I could rewrite the objective as
minimize X*(C+1) +Y
 
Last edited:

Answers and Replies

  • #3
I have had this problem that I didn't know how to write it properly in this thread.

Let's say I have two objective functions:
  1. minimize X
  2. minimize Y
Let's say I want 1. as main objective and 2. a sub objective - by that I mean if there is a set of optimal solutions for 1., then final solution can only be from that set and in such a way that it's the best for 2 from all of that set for 1.

My problem is I don't know how to write this down properly.

The only idea I have had so far doesn't work in all cases:
If [itex]0 \leq Y \leq C[/itex] and [itex]C \in \mathbb{R}_{\geq 0}[/itex], then I could rewrite the objective as
minimize X*(C+1) +Y

You made the correct conclusion from the link on stackexchange. (As to the details on stackexchange - those posters know more about the question that I do.) However, if your are dealing with a problem in physics, your "preference relation" might be much simpler than such a thing is in theoretical economics. The preference relations in economics try to express human whims. (e.g. "I'd rather have 2 houses, 6 cars, 1 dog and 1 cat rather than have 3 houses, 4 cars, no dogs, and 1 cat".)

The most general way of writing the objective is to write it in a way that would translate into a "two pass" algorithm. You did that in words. You could make your statement look fancier by using more mathematical notation.

Let ##F## be the set of feasible solutions for the problem. Let ##S_x## be the set of solutions that minimize ##X(s)##, i.e. Let ##m_X = min\{ X(s): s \in F\}## and ##S_X = \{s: X(s) = m\}##. Then let ##S## be the subset of ##S_x## that minimizes ##Y(s)##, i.e. Let ##m_Y = min\{Y(s):s \in S_X\}## and ##S = \{s:Y(s)=m_Y\}##.

In special situations, you can attain the goal "2. minimize ##Y(s)##" by expressing it (or some property related to it) as a constraint on the problem "1. minimize ##X(s)##".

The relevant terminology for doing an internet search on the general question is "multi-criteria optimization" and "lexicographic multi-criteria optimization".

Your specific goal seems to be to express the problem as a problem of minimizing a single function ##F(s)##. How to do that (and whether it is possible) depends on the specific details of problem.

(Looking on the bright side, most of mathematics consists of finding interesting situations where things that are not always possible in general become possible.)
 
  • Like
Likes Dominik Tugend
  • #4
Thank you very much for your reply :-)
 

Suggested for: How to write main and sub objective for optimisation

Replies
5
Views
919
Replies
2
Views
712
Replies
5
Views
553
Replies
2
Views
358
Replies
10
Views
503
Replies
5
Views
553
Replies
9
Views
789
Replies
2
Views
2K
Back
Top