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

podi's profile - activity

2016-04-27 08:09:32 -0500 received badge  Student (source)
2016-04-26 14:04:38 -0500 asked a question Error to optimize medium-scale office building with Genopt and Energyplus

Hello,every expert...I have headache when I try to optimize my case...

First, I create a medium-scale(6 floors) office building having 66 thermal zones on sketchup (plugin Openstudio )

and add HVAC setting in Energyplus(v8.2) (take E+ HVACTemplate-5ZoneConstantVolumeChillerBoiler as ref)

after I set windows and shading's width as parameters to different surface(nor,sou,ea,we) on Genopt(v3.1.0)

just like :

Vary {  Parameter{    // window and overhang width
Name    = win_so_1;  //win_so_2, win_so_3, win_no_1, win_ea, win_we...17 parameters just for width)
Min     = 0.5;
Ini     = 5.5;
Max     = 7.2;
Step    = 0.1;
....
    }
}
OptimizationSettings{
MaxIte = 2500;
MaxEqualResults = 1000;
WriteStepNumber = false;
UnitsOfExecution = 0;
}

Algorithm{
Main = GeneticAlgorithmJGAP;
MaxGenerations = 20;                // 0 < maxGenerations
PopulationSize = 24;                // 0 < populationSize
BestChromosomesSelectorRate = 0.90;           // sets originalRate >0d and <1d
CrossoverRate = 0.35;                  // >0d
DesiredMutationRate = 0.40;                      // sets desired rate of mutation >=0d and <=1d
                                            // A mutation rate of zero disables mutation entirely  
Seed = 1;                   // If seed is 0 then the current time will be used as the
                    // seed number for the random generator, else the suggested integer
 }

however I have some negative value, so I try to set like this:

FenestrationSurface:Detailed,
Sub Surface 9,           !- Name
Window,                  !- Surface Type
Interior Window,         !- Construction Name
Surface 356,             !- Building Surface Name
....
-%win_so_2%,             !- Vertex 1 X-coordinate {m}
-1.34999999999998,       !- Vertex 1 Y-coordinate {m}
3,                       !- Vertex 1 Z-coordinate {m}
-%win_so_2%,             !- Vertex 2 X-coordinate {m}
-1.34999999999998,       !- Vertex 2 Y-coordinate {m}
0.5,                     !- Vertex 2 Z-coordinate {m}
....

On the other hand, I set win7.ini as:

ObjectiveFunctionLocation
{
  Name1      = Es_tot;
  Function1  = "add( %Es_heat%, %Es_cool%, %Es_light%, %Es_fan%, %Es_equ%)";

  Name2      = Es_equ;
  Function2  = "add( %E_equ1%, %E_equ2%, ..., %E_equ66%)";

  Name3      = Es_cool;
  Function3  = "add( %E_chiller%, %E_tower%, %E_pump1%, %E_pump2%, %E_pump3%)";

  Name4      = Es_fan;
  Function4  = "add( %E_fanleft1%, %E_fanleft2%, %E_fanleft3%, %E_fanleft4%, %E_fanright1%, %E_fanright2%, %E_fanright3%, %E_fanright4%, %E_fanahu1%, %E_fanahu2%, %E_fanfor%, %E_fanback%)";

  Name5      = Es_light;
  Function5  = "add( %E_lgt1%, %E_lgt2%, ..., %E_lgt66%)";

  Name6             = E_chiller;
  Delimiter6        = "4806,";
  FirstCharacterAt6 = 1;

  ...

  Name157             = E_lgt66;
  Delimiter157        = "1369,";
  FirstCharacterAt157 = 1;
  }
 } // end of section Simulation
 ...

Finally, I try to run genopt many times with error:

...
Skipping evaluation of simulation 240 because of previous simulation error.
**** Warning ****
Simulation 1: Exception in evaluating x = ( 1.436409975455133, ..., 6.841151975234836).

Function 'Es_tot = add( 7.84338267878632E11,..., 5.06753421410861E11))'.

No method 'java.lang.StrictMath.add(double, ..., double)' in 'genopt.algorithm.util.math.Fun' and 'java.lang.StrictMath'.
...

and what I tried was :

1.Remove negative value for parameters (become fixed value)

2.Shorten ObjectiveFunctionLocation's name numbers

3.change to PSO Alr / change MaxIte,MaxEqualResults,MaxGenerations,PopulationSize 's number

4.improve some error wrote by .err like:

    ** Warning ** GetSurfaceData: InterZone Surface Tilts do not match as expected.
    **   ~~~   **   Tilt=180.0 in Surface=SURFACE 511, Zone=THERMAL ZONE 10 THERMAL ZONE THERMAL ZONE THERMAL ZONE
    **   ~~~   **   Tilt=180.0 in Surface=SURFACE 695, Zone=THERMAL ZONE 11 THERMAL ZONE THERMAL ZONE THERMAL ZONE
    ** Warning ** GetSurfaceData: InterZone Surface Classes do not match as expected.
    **   ~~~   ** Surface="SURFACE 511", surface class=Floor
    **   ~~~   ** Adjacent Surface="SURFACE 695", surface class=Floor
    **   ~~~   ** Other errors/warnings may follow about these surfaces.
    ** Warning ** GetInternalHeatGains: People="THERMAL ZONE 1 THERMAL ZONE THERMAL ZONE THERMAL ZONE PEOOFFICE", specifies People per Zone Floor ...
(more)
2016-04-26 10:43:00 -0500 received badge  Supporter (source)