Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Scaling in objective definition in JEPLUS+EA

asked 2015-08-17 10:18:10 -0600

Xandrika's avatar

updated 2015-08-18 01:50:26 -0600

I am trying to set up an optimization run with JEPLUS+EA using RVX.

However, I do not understand what the option scaling means in the objective definition. I have read it several time in the JEPLUS help but cannot get a clue. Maybe because I am not a programmer.

Can anyone explain it in simple words or using an example? Thanks a lot.

I attach the code from the example file. Why is scaling true for the first objective but not for the second?

"objectives" : [
        "identifier" : "t1",
        "formula" : "v0/1000/3600",
        "caption" : "Electricity [kWh]",
        "scaling" : true,
        "min" : 0,
        "max" : 100000,
        "weight" : 1.0
        "identifier" : "t2",
        "formula" : "v2",
        "caption" : "Construction Cost [$/m2]",
        "scaling" : false,
        "min" : 0,
        "max" : 1000,
        "weight" : 1.0
edit retag flag offensive close merge delete


Which example file are you looking at? The example file I have from version 1.5 has two objective functions, neither of which are scaled.

Jamie Bull's avatar Jamie Bull  ( 2015-08-18 02:30:10 -0600 )edit

@Jamie Bull, the one from the JEPLUS online manual here

Xandrika's avatar Xandrika  ( 2015-08-18 09:32:57 -0600 )edit

Ah, I see. I'm not sure if that's meant to be a useable RVX or if it's just there to illustrate the possible values.

Jamie Bull's avatar Jamie Bull  ( 2015-08-18 10:06:32 -0600 )edit

@Jamie Bull, maybe we should ask @Yi Zhang ? However, I cannot tag Yi Zhang :-(

Xandrika's avatar Xandrika  ( 2015-08-18 16:25:06 -0600 )edit

@Xandrika I raised this issue yesterday and @Neal Kruis is looking into it

Jamie Bull's avatar Jamie Bull  ( 2015-08-19 01:38:50 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2015-08-18 02:30:25 -0600

updated 2015-08-18 11:53:24 -0600

I'll try and give an explanation in simple terms of how the scaling works and what the effect is, following the image in the documentation. Here is the image which illustrates objective scaling.

Objective scaling in jEPlus+EA

Some observations:

  1. Scaling can help with the efficiency of certain algorithms, though I'm not familiar enough with NSGA2 (the default algorithm in jEPlus+EA) to know if that applies here.

  2. Scaling sets any values which are less than the min to be equal to 0. This prevents an algorithm which is trying to minimise the objective function from ranking solutions where the value is less than the minimum as better than one which is at the minimum. This avoids runaway optimisation to unfeasible values.

  3. Scaling also sets the max value at 1 x n where n is the the weight applied to that variable. The weighting here means that minimising this objective is n times more influential on the result.

As to why the "Electricity [kWh]" objective is scaled and the "Construction Cost [$/m2]" objective is not in the example file, that is harder to understand. The effect as far as I can see is that the construction cost could potentially be weighted as 1000 times more important by the evolutionary algorithm. Perhaps @Yi Zhang can weigh in on this?

edit flag offensive delete link more


@Jamie Bull. @Waseem: That means in this case that all solutions with Electricity below the min (in this case 0 kWh) are not considered? That makes no sense at all! Because all solutions will consume electricity.

If I want to exclude all solutions with electricity above 100 kWh, I have to put scaling TRUE my min value should be 100?

Xandrika's avatar Xandrika  ( 2015-08-18 09:40:13 -0600 )edit

@Xandrika No, if I'm understanding correctly your max value should be 100, otherwise your solutions won't try and reduce any lower than 100 kWh. Your min can be 0 kWh.

Jamie Bull's avatar Jamie Bull  ( 2015-08-18 10:04:43 -0600 )edit

Thanks @Jamie Bull for your answer.

"As to why the 'Electricity [kWh]' objective is scaled and the 'Construction Cost [$/m2]' objective is not in the example file," there isn't any rationale really, because with NSGA2 scaling has absolutely no effect. :-P

This was a legacy option for single objective algorithms.

Yi Zhang's avatar Yi Zhang  ( 2015-08-20 12:16:01 -0600 )edit

Thanks, Yi. So does that mean that the weighting has no effect either?

Jamie Bull's avatar Jamie Bull  ( 2015-08-20 14:36:28 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer


Question Tools

1 follower


Asked: 2015-08-17 10:18:10 -0600

Seen: 941 times

Last updated: Aug 18 '15