# How to define a range for multi-objective optimization?

Hey guys, I have a question; normally multi (single)-objective optimization works towards minimizing or maximizing values. But what if we want to find the optimized parameters for a range? for instance, what if we want to set a glazing ratio in a way that we have the maximum daylit hours in a year between 300 - 2000 lux (in Octopus preferably).

Hi

You need to get a bit creative to do this. I would put the number of hours a year that are in your desirable range in a list and then use list count to count how many items are in your list. Since you want to maximize that number, you can use the number calculated as (1/ number of hours in the range I want) as your objective.
Hope this makes sense

Ellika

1 Like

@EllikaCachat, thank you; I will try it on my model to see what happens and I will let you know!

Thank you!

1 Like

Hello,
It is unclear to me what you are trying to do.

My guess is: You analyze a grid of points and want to find a solution where FOR EACH of the points minimum value is 300lux and maximum value is 2000lux? And you want to maximize number of points that fall between the range?
I post my advices below with that assumption:

First of all you do not need multi-objective optimization for that. Galapagos/Silverye/any other single-objective solver would work. If you want to use Octopus, it is also capable of single-objective optimization as well.

Secondly what you need are so-called penalty functions. You put a penalty on each result that is outside of your range. This would work that way:

-Maximize number of grid points that get a value of â€ś1â€ť (fall within your range), in the same time you put â€ś0â€ť to each point that does not fall between the range. Please see an example below (I used random number to generate values + seed as optimized slider)

Please note that if you are looking for a solution where, for example, you need only 70% of area to fall between this range you could compare number of â€ś1 valueâ€ť points (x) against lenght of a list of all poins (y) and put another penalty function: If (x/y>0.7, x, 0). This would give a value of 0 to all solutions that are below the 70% threshold, and a positive value to all solutions that are >70%:

I advice you to read through great David Ruttenâ€™s posts on optimization. These can be found on his blog - https://ieatbugsforbreakfast.wordpress.com/

In galapagos window you will find direct links to these articles:

Hope that it helps,
Have a good one!

@Wujo thank you very much. This is exactly what I was looking for but unfortunately, I do not have access to my PC for carrying out the project. I will do it asap n let you know! thank you for the detailed illustrations.