Professional Documents
Culture Documents
Matti Palonen, Mohamed Hamdy, and Ala Hasan Aalto University, Espoo, Finland VTT Technical Research Centre of Finland, Espoo, Finland
Matti Palonen, Mohamed Hamdy, and Ala Hasan Aalto University, Espoo, Finland VTT Technical Research Centre of Finland, Espoo, Finland
PERFORMANCE OPTIMIZATION
ABSTRACT REVIEW
This paper introduces a new software developed for This section reviews some available optimization
building performance optimization. MOBO is a tools that have been used for building performance
generic freeware able to handle single and multi- optimization. Table 1 gathers some main features of
objective optimization problems with continuous and the reviewed tools. These tools can be classified into
discrete variables and constraint functions. It can be two categories: customized and generic tools.
coupled to many external (simulation) programs. It Customized optimization tools
has a library of different types of algorithms
Opt-E-Plus, GENE_ARCH, BEopt™, TRNOPT,
(evolutionary, deterministic, hybrid, exhaustive and
MultiOpt2, and jEPlus+EA are examples of tools
random), and is able to handle multi-modal functions
customized mainly for building energy performance
and have automatic constraint handling. The input is
optimization. These tools are combinations of
fed by a GUI. The user can write the input by
optimization algorithms/approaches and building
algebraic formulas using standard symbols. The
performance simulation engines.
output can be viewed by two graphs that show the
In Opt-E-Plus (Ellis et al., 2006), EnergyPlus
progress of the optimization. A beta version of
simulation engine was coupled with a number of
MOBO is available for download and use.
optimization strategies. Opt-E-Plus is a collection of
INTRODUCTION input and output files, system directories, and
computer routines that use an XML data model to
By building optimization, it is possible to find
transfer information among its various components.
optimal values of decision variables, among huge
It allows distributed programming and supports
numbers of possible combinations, which are able to
selection of automation and optimization strategies.
achieve defined conflicting objective functions and at
Opt-E-Plus doesn’t support multidisciplinary
the same time satisfy specified constraint functions.
optimization and the visualization of its tradespace is
Various decision variables can be considered in the
limited (Flager et al., 2008).
building envelope, the heating, ventilating and air
GENE_ARCH (Caldas, 2006) has scalable geometry
conditioning (HVAC) systems, the centralised/on-site
generation functionality and good visualization
energy generation systems etc. Examples of the
capabilities. It is customized to couple DOE2.1E for
objectives are: minimization of environmental
building performance simulation and genetic
impacts (energy consumption, carbon emissions etc.),
algorithms for optimization. GENE_ARCH was used
cost (investment cost, operating cost, life-cycle cost),
to find energy-efficient architecture solutions
equipment size (energy generation units, HVAC
(Caldas, 2008 and 2011).
system etc.), and/or maximization of indoor air
quality, energy efficiency, etc. These can be achieved BEopt™ (Christensen et al., 2005) includes a
individually, as single objectives, or simultaneously, graphical user interface (GUI) that allows the user to
as multi-objective optimization. The constraint select from a range of predefined and discrete
functions may indicate satisfying, or not violating, building options (heating, ventilating, and air-
different criteria (e.g. thermal comfort level, total conditioning system type, envelope constructions,
investment cost limit, primary energy limit etc.). etc.) to be used in the optimization process. This
Currently, there are many building optimization tools allows the user to rapidly generate and visualize the
available with different features. However, we think design space through a browser, but its flexibility is
that there is still a need for a new tool that should be limited as a result of having predefined building
a generic freeware and can fill the shortages options and its inability to identify a wide range of
recognised in the available tools. These were our objective functions. DOE2.2 and TRNSYS are the
main motivations for developing MOBO, a Multi- simulation engines of BEopt™. BEopt™ was used
Objective Building Optimization tool. to evaluate the energy and cost savings potential
In this paper, we will first review available tools, from constructing efficient new homes and Net Zero-
then describe the features of MOBO, and finally give Energy Homes in the USA (Christensen et al., 2005).
an example of implementation. TRNOPT (TESS. 2004 component libraries type
758) is an interface that couples the TRNSYS
simulation with the generic optimization tool GenOpt TRNSYS (Fraisse et al., 2010). The absence of multi-
(Wetter, 2001) in order to minimize a single cost objective optimization algorithms and automatic
function. TRNOPT’s optimization advantages are constraint handling in GenOpt are its main
limited by GenOpt’s features indicated next. disadvantages. Besides, it is not able to check for
Furthermore, TRNOPT does not allow changes in the errors in user’s inputs interactively.
building simulation file. This limits its ability to Table (1)
optimize building elements such as external-wall Customized and Generic Optimization Tools
insulation thickness, etc. TRNOPT was used by
Calise F. (2010) and Fraisse et al., (2010) for HVAC Optimization
Q1 Q2 Q3 Q4 Q5
system optimization. Tools
Customized
TRNSYS 17. The tool has a GUI for defining the ARCH
optimization problem. However, it is limited by only BEopt™ Yes No No No No
one optimization algorithm NSGA-II (Deb et al., TRNOPT No Yes No No Yes
2000). MultiOpt2 No Yes Yes ? Yes
jEPlus+EA (jEPlus+EA, 2011) is designed with an jEPlus+EA No Yes No Yes No
aim to remove the barrier to entry into the field of GenOpt Yes No No Yes Yes
optimization, for existing jEPlus users at least. Model- Yes/
No Yes Yes No
Example of jEPlus+EA's limitations is it can only use Center No*
parameters defined in a valid jEPlus project as modeFRO
No Yes Yes Yes Yes
NTIER
Generic
variables. This means all variables are considered as
discrete during optimization. If a jEPlus project DAKOTA Yes Yes Yes Yes Yes
parameter tree has multiple branches, only the first iSIGHT No Yes Yes No Yes
branch will be used for optimization. jEPlus+EA is MATLAB
used in (Porritt et al., 2012) Optim- Yes/
No Yes Yes No
ization No*
Generic Optimization tools Toolboxes
GenOpt (Wetter, 2001), ModelCenter (by Phoenix Q1: Is it a freeware?
Integration), modeFRONTIER (Nardin et al., 2009), Q2: Does it include multi-objective algorithms?
DAKOTA (Design Analysis Kit for Optimization Q3: Does it handle constraint functions automatically?
and Terascale Applications toolkit, Adams et al., Q4: Does it allow parallel computing?
2011), iSIGHT (Velden and Koch, 2010) as well as Q5: Can it handle discrete and continuous variables
MATLAB Optimization and Direct Search simultaneously?
Toolboxes, are all examples of generic optimization *Yes/No means that the answer is ‘’yes’’ for some
tools. They were developed to allow coupling to any algorithms and ‘’no’’ for the other algorithms in the
computer software. These tools have different reviewed optimization tool.
features as indicated by Table 1. They allow
performing parametric and sensitivity analyses using
MAIN FEATURES OF MOBO
different visualization methods. The literature shows We think that there is a clear demand for an
combinations of the above-mentioned tools with optimization tool that should be a generic freeware
building performance simulation programs including and not be limited to implementations with a specific
EnergyPlus, DOE, TRNSYS, IDA-ICE etc (Wetter simulation program.
and Wright, 2004, Flager et al., 2008, Suga et al., In addition to single objective, MOBO is able to
2010, Kayo and Ooka, 2010, and Hamdy et al., handle multiple objective optimization problems with
2011). Excluding GenOpt and DAKOTA, the rest of constraint functions without a need to define penalty
the tools are commercial ones. functions. It is developed in a way that most of the
algorithms include automatic constraint handling.
All the indicated generic tools are expected not to be
However, this feature does not limit the user to
user-friendly to inexpert users, which is due to the
define penalty functions if he or she wishes.
different configuration of the model files in each
simulation program and the input and output files Graphical User Interface for Defining the
structure. GenOpt, was written in an effort to Optimization Problem
simplify and standardize coupling with different MOBO has a Graphical user Interface (GUI) for
simulation programs through its open interface on defining the optimization problem. MOBO can
both the simulation program side and the handle both continuous and discrete variables. For
optimization algorithm side. Therefore, we can find both variables a preprocessing function can be easily
that it was coupled with different simulation added by using standard algebraic symbols. The
programs, e.g. EnergyPlus (Djuric et al., 2007), IDA- software supports approximately 50 functions that
ICE (Hasan et al., 2008), ISOLAB (Bigot et al., can be used in the formulas. Examples of these
2010), Dymola/Modelica (Ali et al., 2010), and functions are sin, cos, sqrt, exponent etc. In MOBO,
the input (usually the optimization problem and Parallel Simulation Execution
simulation software parameters) is given through the Modern microprocessor architecture is usually based
GUI, which checks that the input is correct on one processor that can handle multiple threads.
interactively. These threads can run on parallel. Before starting the
For adding different functions, the GUI also supports optimization procedure, the software will
formulas and functions in the formulas. MOBO can automatically detect the number of threads (or
handle up to four different function types that are: processors) in the system. Then, the optimization
Objective Function(s) procedure will run multiple simulations (threads) on
parallel. This parallel computing feature will lower
Constraint Function(s): the optimization time with the factor that is equal to
o Less or equal to 0 number of threads available. All the algorithms in the
o Equal to 0 new tool (expect the algorithm of Hooke and Jeeves)
can use parallel computing.
Other
The function type Other is a function that will not be
optimized but can be referenced from the functions Algorithms
that are optimized to build more complex objective- Table 2 shows the algorithms available in MOBO
or constraint -functions. All these functions can be and gives an overview of their features.
added as a formula or/and the value of the function
can be read from the result file of the simulation Genetic Algorithms (GA)
program. MOBO comes with a number of Genetic Algorithms
(GA) for doing multi- or single objective
optimization. These algorithms are NSGA-II (Deb et
Graphical User Interface for the Optimization
al. 2002), Pareto Archive NSGA-II (aNSGA-II)
Progress
(Hamdy et al., 2012), and OMNI-optimizer (Deb and
The progress of the optimization can be viewed with Tiwari, 2005) Both binary and real coded
two different graphs: the first graph shows the values implementations are included. Binary GA can be
of the decision variables as a function of the used to solve problems with both discrete and
simulation number, and the second graph shows a bi- continuous variables, while real coded GA can be
objective function space. used to solve problems with continuous variables
only. All the GAs included in the software has an
Interface for Simulation Programs automatic constraint handling strategy. This means
that the user does not need to define any penalty
MOBO can be used to run external (simulation)
function.
programs that calculate the values of the objective
The absence of optimization algorithms that can
and possible constraint functions. The interface can
handle multi-modal single- or multi-objective
be used with several tools such as IDA-ICE and
problems (with single optimization run) seems to be
TRNSYS etc. It handles the input and output through
a feature of many available optimization tools. In
text files. The user needs to define the command that
addition, most of the tools available consider
starts the external program, template file and the
diversity of the Pareto-set through the objective space
names of the input and the output files of the external
only. For these reasons, we added the OMNI-
program. Since the interface is generic, that is, it can
optimizer algorithm. The OMNI-optimizer considers
be used with different programs, the user needs to
the diversity of the decision variables and can handle
specify the locations where to write the values of the
multi-modal problems.
variables (in input file) and the locations in the output
file where to read the function values.
Algorithm of Hooke and Jeeves
The algorithm of Hooke and Jeeves is a direct search
Interface for Adding New Algorithms and algorithm, which is considered as a local search
Functions method. Algorithm of Hooke and Jeeves is a single
Programming interface for adding new functions can objective optimization algorithm and can handle only
be used to extend available algorithms and functions continuous variables. In our implementation, an
in MOBO. The user can add new functions and automatic constraint handling strategy is included, so
optimization algorithms with MOBO API for Java. that a penalty function is not needed in a constrained
problem.
Binary NSGA-II X X X X X X X
Binary OMNI-Optimizer X X X X X X X X
Hooke-Jeeves X X X X
Hybrid Algorithm X X X X X X
Brute-Force X X X X X X X
Random Search X X X X X X X
Table (3)
Design variables of the optimization problem
Min. Max.
Design Variables Type
Value Value
Additional insulation
thickness in external Continuous 0 1
walls (m)
Additional insulation
Continuous 0 1
thickness in roof (m)
Additional insulation
Continuous 0 1
thickness in floor (m)
Window’s U-values Discrete
1 1.4
(W/m2K) (two options)
Figure 1. The detached house (Shemeikka and Heat recovery efficiency Discrete
Laitinen, 2005) 70 80
(%) (two options)
The problem is optimized here using three First, the design variables, their bounds and
algorithms: the Brute-Force algorithm, Random- possible pre-process functions are added. This is
Search algorithm and Pareto-Archive NSGA-II demonstrated in Figure 2. Then, the two objective
algorithm. The Brute-Force algorithm used a step functions and the constraint function are
of 0.05 m for the continuous variables (insulation constructed as shown in Figure 3. Twelve
thickness). This resulted in 32000 simulations. The functions of type other are used to read the monthly
Random-Search algorithm applied 600 simulations. energy consumptions. The objective function
The Binary aNSGA-II was run twice. In the first Eheating is the energy consumption for the whole
run, no constraint function was imposed, while in year and is to be minimised, as well as the objective
the second run, a maximum additional investment function Cost. Finally, the constraint functions C1
of 6000 euros was considered as a constraint is defined such that Cost- 6000 should equal to or
function. There were no attempts to find optimal be less than zero. In the simulation tab (Figure 4),
parametric values for the GA. For both runs, the the location of the model file, names of the input-
mutation probability was set to 1/L (where L is the and output files of the simulation software and the
number of bits used to represent each of the command that starts the simulation are given. In the
solutions), the adult population size to six, and the algorithm tab (Figure 4), the Pareto Archive
number of generations to 100. Two crossover NSGA-II algorithm is selected and the parameters
probabilities (0.8 and 0.9) were set to the first and for the algorithm are given. In this example, we
second runs, respectively. used the IDA-ICE software for the building
simulation. The progress of the output during the
Program Set-up for the Problem
optimization run can be seen in Figure 5.
The set-up of the BI-objective constrained example
in MOBO and its operation is shown here.
30000
20000
10000
Initial design
0
4600 5600 6600 7600 8600 9600 10600 11600 12600 13600 14600
Annual space heating energy [kWh]
Figure 6. MOBO results of the four search/optimization runs