Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ms-public
nomad
Commits
fee81ae9
Commit
fee81ae9
authored
Sep 16, 2015
by
Miroslav Shaltev
Browse files
q# modified: tools/SENSITIVITY/problems/styrene/black-box/truth/thermolib.hpp
parent
aeb74cce
Changes
282
Expand all
Hide whitespace changes
Inline
Side-by-side
ChangeLog
View file @
fee81ae9
2015-03: NOMAD 3.7
-Anisotropic scaling
-Block evaluations
2013-03: NOMAD 3.6
-ortho n+1
2011-01: NOMAD 3.5
...
...
README
View file @
fee81ae9
#######################################################################################
# #
# README #
# #
#######################################################################################
# #
# NOMAD - Nonsmooth Optimization by Mesh Adaptive Direct search #
# V 3.6.1 #
# 2013/05 #
# #
# Copyright (C) 2001-2013 #
# #
# Mark Abramson - the Boeing Company, Seattle #
# Charles Audet - Ecole Polytechnique, Montreal #
# Gilles Couture - Ecole Polytechnique, Montreal #
# John Dennis - Rice University, Houston #
# Sebastien Le Digabel - Ecole Polytechnique, Montreal #
# Christophe Tribes - Ecole Polytechnique, Montreal #
# #
#-------------------------------------------------------------------------------------#
# #
# Contact information: #
# Ecole Polytechnique de Montreal - GERAD #
# C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada #
# e-mail: nomad@gerad.ca #
# phone : 1-514-340-6053 #6928 #
# fax : 1-514-340-5665 #
# #
# This program is free software: you can redistribute it and/or modify it under the #
# terms of the GNU Lesser General Public License as published by the Free Software #
# Foundation, either version 3 of the License, or (at your option) any later #
# version. #
# #
# This program is distributed in the hope that it will be useful, but WITHOUT ANY #
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A #
# PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. #
# #
#
# You should have received a copy of the GNU Lesser General Public License along #
# with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
# You can find information on the NOMAD software at www.gerad.ca/nomad #
#######################################################################################
AUTHORS :
* Mark A. Abramson (Mark.A.Abramson@boeing.com), The Boeing Company.
* Charles Audet (www.gerad.ca/Charles.Audet), GERAD and Departement de
mathematiques et de genie industriel, ecole Polytechnique de Montreal.
* J.E. Dennis Jr. (www.caam.rice.edu/~dennis), Computational and Applied
Mathematics Department, Rice University.
* Sebastien Le Digabel (www.gerad.ca/Sebastien.Le.Digabel), GERAD and Departement
de mathematiques et de genie industriel, ecole Polytechnique de Montreal.
* Christophe Tribes, GERAD, Departement
de mathematiques et de genie industriel, Department of mechanical engineering, ecole Polytechnique de Montreal.
DESCRIPTION :
NOMAD is a C++ implementation of the Mesh Adaptive Direct Search (MADS) algorithm,
designed for constrained optimization of black-box functions.
The project started in 2001, and was funded in part by AFOSR, CRIAQ, FQRNT, LANL,
NSERC, the Boeing Company, and ExxonMobil Upstream Research Company.
WEB PAGE :
http://www.gerad.ca/nomad/
FURTHER INSTRUCTIONS :
Please visit the web page for futher instruction on the following:
* Downloading, configuring, compiling, and installing NOMAD
* Using NOMAD and setting the parameters
* Reports on NOMAD
* How to report bugs and make enhancement requests
* And more...
BATCH OR LIBRARY MODE :
NOMAD is designed to be used in two different modes : batch and library.
The batch mode is intended for a basic ans simple usage of the MADS method,
while the library mode allows more flexibility.
For example, in batch mode, users must define their separate black-box program,
that will be called with system calls by NOMAD.
In library mode, users can define their black-box function as C++ code
that will be directly called by NOMAD, without system calls and temporary files.
TYPES OF USE :
There are two ways of using NOMAD, one can directly use an executable or compile
the source code.
NOMAD batch mode executable is located in directory $NOMAD_HOME/bin or %NOMAD_HOME%\bin.
In order to avoid compiling the code, you can simply use this executable.
HOW TO EXECUTE NOMAD :
For informations about the execution of NOMAD, please read the user guide :
$NOMAD_HOME/doc/user_guide.pdf or %NOMAD_HOME%\doc\user_guide.pdf
or
http://www.gerad.ca/NOMAD/Downloads/user_guide.pdf
#######################################################################################
# #
# README #
# #
#######################################################################################
# #
# NOMAD - Nonsmooth Optimization by Mesh Adaptive Direct search #
# V 3.7.2 #
# #
# Copyright (C) 2001-2015 #
# #
# Mark Abramson - the Boeing Company, Seattle #
# Charles Audet - Ecole Polytechnique, Montreal #
# Gilles Couture - Ecole Polytechnique, Montreal #
# John Dennis - Rice University, Houston #
# Sebastien Le Digabel - Ecole Polytechnique, Montreal #
# Christophe Tribes - Ecole Polytechnique, Montreal #
# #
#-------------------------------------------------------------------------------------#
# #
# Contact information: #
# Ecole Polytechnique de Montreal - GERAD #
# C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada #
# e-mail: nomad@gerad.ca #
# phone : 1-514-340-6053 #6928 #
# fax : 1-514-340-5665 #
# #
# This program is free software: you can redistribute it and/or modify it under the #
# terms of the GNU Lesser General Public License as published by the Free Software #
# Foundation, either version 3 of the License, or (at your option) any later #
# version. #
# #
# This program is distributed in the hope that it will be useful, but WITHOUT ANY #
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A #
# PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. #
# #
#
# You should have received a copy of the GNU Lesser General Public License along #
# with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
# You can find information on the NOMAD software at www.gerad.ca/nomad #
#######################################################################################
AUTHORS :
* Mark A. Abramson (Mark.A.Abramson@boeing.com), The Boeing Company.
* Charles Audet (www.gerad.ca/Charles.Audet), GERAD and Departement de
mathematiques et de genie industriel, ecole Polytechnique de Montreal.
* J.E. Dennis Jr. (www.caam.rice.edu/~dennis), Computational and Applied
Mathematics Department, Rice University.
* Sebastien Le Digabel (www.gerad.ca/Sebastien.Le.Digabel), GERAD and Departement
de mathematiques et de genie industriel, ecole Polytechnique de Montreal.
* Christophe Tribes, GERAD, Departement
de mathematiques et de genie industriel, Department of mechanical engineering, ecole Polytechnique de Montreal.
DESCRIPTION :
NOMAD is a C++ implementation of the Mesh Adaptive Direct Search (MADS) algorithm,
designed for constrained optimization of black-box functions.
The project started in 2001, and was funded in part by AFOSR, CRIAQ, FQRNT, LANL,
NSERC, the Boeing Company, and ExxonMobil Upstream Research Company.
WEB PAGE :
http://www.gerad.ca/nomad/
FURTHER INSTRUCTIONS :
Please visit the web page for futher instruction on the following:
* Downloading, configuring, compiling, and installing NOMAD
* Using NOMAD and setting the parameters
* Reports on NOMAD
* How to report bugs and make enhancement requests
* And more...
BATCH OR LIBRARY MODE :
NOMAD is designed to be used in two different modes : batch and library.
The batch mode is intended for a basic ans simple usage of the MADS method,
while the library mode allows more flexibility.
For example, in batch mode, users must define their separate black-box program,
that will be called with system calls by NOMAD.
In library mode, users can define their black-box function as C++ code
that will be directly called by NOMAD, without system calls and temporary files.
TYPES OF USE :
There are two ways of using NOMAD, one can directly use an executable or compile
the source code.
NOMAD batch mode executable is located in directory $NOMAD_HOME/bin or %NOMAD_HOME%\bin.
In order to avoid compiling the code, you can simply use this executable.
HOW TO EXECUTE NOMAD :
For informations about the execution of NOMAD, please read the user guide :
$NOMAD_HOME/doc/user_guide.pdf or %NOMAD_HOME%\doc\user_guide.pdf
or
http://www.gerad.ca/NOMAD/Downloads/user_guide.pdf
configure.ac
View file @
fee81ae9
AC_INIT(nomad, 3.
6.1
, miroslav.shaltev@shaltev.de)
AC_INIT(nomad, 3.
7.2
, miroslav.shaltev@shaltev.de)
AC_PREREQ([2.63])
AC_CONFIG_HEADERS([config.h])
...
...
doc/user_guide.pdf
View file @
fee81ae9
No preview for this file type
examples/advanced/categorical/batch/bb.cpp
View file @
fee81ae9
...
...
@@ -79,8 +79,8 @@ int main ( int argc , char ** argv ) {
in
.
close
();
}
}
cout
<<
g1
<<
" "
<<
g2
<<
" "
<<
f
<<
endl
;
cout
.
precision
(
18
);
cout
<<
g1
<<
" "
<<
g2
<<
" "
<<
f
<<
endl
;
return
0
;
}
examples/advanced/categorical/batch/runExample.log
View file @
fee81ae9
Warning: {
Model use is disabled for problem with categorical variables.
}
Warning: {
Anisotropic mesh are not supported with categorical and binary variables.
}
NOMAD - version 3.
6
.1 - www.gerad.ca/nomad
NOMAD - version 3.
7
.1 - www.gerad.ca/nomad
Copyright (C) 2001-201
3
{
Copyright (C) 2001-201
5
{
Mark A. Abramson - The Boeing Company
Charles Audet - Ecole Polytechnique de Montreal
Gilles Couture - Ecole Polytechnique de Montreal
...
...
@@ -26,31 +29,54 @@ MADS run {
BBE ( SOL ) OBJ
1 ( 0 100.0000000000 1 100.0000000000 ) 159.6460000000
3 ( 0 100.0000000000 1 1100.0000000000 ) 150.4540000000
4 ( 0 100.0000000000 1 4100.0000000000 ) 111.1390000000
6 ( 0 100.0000000000 1 6100.0000000000 ) 85.9544000000
14 ( 0 100.0000000000 1 8100.0000000000 ) 64.1532000000
24 ( 0 100.0000000000 1 9100.0000000000 ) 55.8612000000
32 ( 0 1100.0000000000 1 8100.0000000000 ) 52.5820000000
47 ( 0 1600.0000000000 1 8100.0000000000 ) 47.6450000000
55 ( 0 1850.0000000000 1 8100.0000000000 ) 45.3357000000
72 ( 0 1853.4179687500 1 8111.7187500000 ) 45.2005000000
75 ( 0 1833.8867187500 1 8132.2265625000 ) 45.1958000000
76 ( 0 1775.2929687500 1 8193.7500000000 ) 45.1911000000
80 ( 0 1900.2929687500 1 8068.7500000000 ) 45.1620000000
89 ( 0 1923.7304687500 1 8058.9843750000 ) 45.0398000000
98 ( 0 1899.3164062500 1 8083.3984375000 ) 45.0394000000
105 ( 0 1892.4804687500 1 8106.8359375000 ) 44.8919000000
114 ( 0 1923.7304687500 1 8075.5859375000 ) 44.8905000000
137 ( 0 1922.9360580444 1 8076.6168594360 ) 44.8884000000
146 ( 0 1922.1416473389 1 8077.6477813721 ) 44.8863000000
162 ( 0 1922.1003413200 1 8077.7624607086 ) 44.8856000000
169 ( 0 1922.0590353012 1 8077.8771400452 ) 44.8850000000
171 ( 0 1921.9208717346 1 8078.0774116516 ) 44.8844000000
294 ( 0 1921.9208717346 1 8078.0774116516 ) 44.8844000000
} end of run (mesh index limits (+/- 50))
blackbox evaluations : 294
best feasible solution : ( 0 1921.920872 1 8078.077412 ) h=0 f=44.8844
1 ( 0 100.0000000000 1 100.0000000000 ) 159.6461296475
5+ 2 ( 0 1100.0000000000 2 100.0000000000 ) 152.8902369239 (ExtendedPoll)
5+ 3 ( 0 4100.0000000000 2 100.0000000000 ) 134.5175377184 (ExtendedPoll)
5+ 6 ( 0 8100.0000000000 2 1100.0000000000 ) 93.9098509400 (ExtendedPoll)
5+ 13 ( 0 3600.0000000000 2 4600.0000000000 ) 72.2375927442 (ExtendedPoll)
5+ 23 ( 0 4600.0000000000 2 4600.0000000000 ) 63.9850651149 (ExtendedPoll)
5+ 29 ( 0 4100.0000000000 2 5100.0000000000 ) 62.0438640124 (ExtendedPoll)
41+ 5 ( 0 3975.0000000000 1 5725.0000000000 ) 55.6086573370 (ExtendedPoll)
66+ 6 ( 2 3881.2500000000 1 5975.0000000000 ) 58.7730353554 (ExtendedPoll)
85+ 7 ( 0 3943.7500000000 2 5975.0000000000 ) 54.5634971325 (ExtendedPoll)
110 ( 0 3943.7500000000 1 5975.0000000000 ) 52.5611211856
114+ 12 ( 0 3914.4531250000 2 6029.6875000000 ) 54.3636860906 (ExtendedPoll)
114+ 14 ( 0 3836.3281250000 2 6131.2500000000 ) 54.2565794588 (ExtendedPoll)
114+ 26 ( 0 3863.6718750000 2 6115.6250000000 ) 54.1218203970 (ExtendedPoll)
114+ 28 ( 0 3908.5937500000 2 6072.6562500000 ) 54.0518889750 (ExtendedPoll)
114+ 29 ( 0 4043.3593750000 2 5943.7500000000 ) 53.9097569796 (ExtendedPoll)
114+ 42 ( 0 4017.9687500000 2 5979.8828125000 ) 53.8237647156 (ExtendedPoll)
166+ 12 ( 0 3945.7031250000 2 6037.5000000000 ) 53.9997469058 (ExtendedPoll)
166+ 23 ( 0 3945.2148437500 2 6053.1250000000 ) 53.8701209592 (ExtendedPoll)
199+ 8 ( 0 4100.0000000000 2 5881.2500000000 ) 53.9564900102 (ExtendedPoll)
199+ 24 ( 0 4107.8125000000 2 5881.4331054688 ) 53.8832486375 (ExtendedPoll)
199+ 26 ( 0 4121.8505859375 2 5874.7192382812 ) 53.8169487483 (ExtendedPoll)
238+ 10 ( 0 4006.2500000000 2 5980.8593750000 ) 53.9245869941 (ExtendedPoll)
238+ 18 ( 0 4030.6640625000 2 5961.3281250000 ) 53.8703341236 (ExtendedPoll)
238+ 30 ( 0 4028.8024902344 2 5968.9270019531 ) 53.8199810273 (ExtendedPoll)
238+ 38 ( 0 4026.6967773438 2 5972.2152709961 ) 53.8103680832 (ExtendedPoll)
286+ 8 ( 0 4006.2500000000 2 5973.0468750000 ) 53.9937648079 (ExtendedPoll)
286+ 19 ( 0 4006.3720703125 2 5988.6718750000 ) 53.8544733742 (ExtendedPoll)
286+ 24 ( 0 4017.6025390625 2 5977.8076171875 ) 53.8455562804 (ExtendedPoll)
286+ 25 ( 0 4051.2939453125 2 5945.2148437500 ) 53.8230307642 (ExtendedPoll)
286+ 40 ( 0 4049.3560791016 2 5948.6022949219 ) 53.8105786370 (ExtendedPoll)
286+ 48 ( 0 4049.1615295410 2 5950.5458831787 ) 53.7949509311 (ExtendedPoll)
344+ 11 ( 0 4092.1875000000 2 5889.0625000000 ) 53.9562156297 (ExtendedPoll)
344+ 26 ( 0 4082.9101562500 2 5901.6357421875 ) 53.9261842233 (ExtendedPoll)
344+ 27 ( 0 4055.0781250000 2 5939.3554687500 ) 53.8406875009 (ExtendedPoll)
344+ 41 ( 0 4054.7653198242 2 5943.2464599609 ) 53.8085676438 (ExtendedPoll)
344+ 52 ( 0 4055.7056427002 2 5943.5101509094 ) 53.7974893949 (ExtendedPoll)
344+ 55 ( 0 4057.1723937988 2 5942.2207832336 ) 53.7955084222 (ExtendedPoll)
344+ 56 ( 0 4061.5726470947 2 5938.3526802063 ) 53.7896289020 (ExtendedPoll)
416+ 8 ( 0 4092.1875000000 2 5873.4375000000 ) 54.1002366323 (ExtendedPoll)
416+24 ( 0 4104.6386718750 2 5891.7480468750 ) 53.8173417481 (ExtendedPoll)
416+33 ( 0 4111.5356445312 2 5888.0859375000 ) 53.7878645675 (ExtendedPoll)
416+47 ( 0 4112.3014450073 2 5887.4798774719 ) 53.7864363345 (ExtendedPoll)
475 ( 0 4004.2968750000 1 5986.7187500000 ) 51.9855654455
481+19 ( 0 3994.9005859375 2 5999.2932421875 ) 53.8684879252 (ExtendedPoll)
500 ( 0 4004.2968750000 1 5986.7187500000 ) 51.9855654455
} end of run (max number of blackbox evaluations)
blackbox evaluations : 500
best feasible solution : ( 0 4004.296875 1 5986.71875 ) h=0 f=51.98556545
examples/advanced/categorical/bi_obj/categorical.cpp
View file @
fee81ae9
...
...
@@ -46,10 +46,6 @@ class My_Evaluator : public Multi_Obj_Evaluator {
public:
My_Evaluator
(
const
Parameters
&
p
)
:
Multi_Obj_Evaluator
(
p
)
{
}
~
My_Evaluator
(
void
)
{}
...
...
@@ -263,12 +259,10 @@ My_Extended_Poll::My_Extended_Poll ( Parameters & p )
bbit_1
[
0
]
=
bbit_1
[
1
]
=
CATEGORICAL
;
bbit_1
[
2
]
=
CONTINUOUS
;
const
Point
&
d0_1
=
p
.
get_initial_
mesh
_size
();
const
Point
&
d0_1
=
p
.
get_initial_
poll
_size
();
const
Point
&
lb_1
=
p
.
get_lb
();
const
Point
&
ub_1
=
p
.
get_ub
();
int
halton_seed
=
p
.
get_halton_seed
();
_s1
=
new
Signature
(
3
,
bbit_1
,
d0_1
,
...
...
@@ -276,7 +270,6 @@ My_Extended_Poll::My_Extended_Poll ( Parameters & p )
ub_1
,
p
.
get_direction_types
()
,
p
.
get_sec_poll_dir_types
()
,
halton_seed
++
,
_p
.
out
()
);
// signature for 2 assets:
...
...
@@ -302,7 +295,6 @@ My_Extended_Poll::My_Extended_Poll ( Parameters & p )
ub_2
,
p
.
get_direction_types
()
,
p
.
get_sec_poll_dir_types
()
,
halton_seed
++
,
_p
.
out
()
);
}
...
...
@@ -329,7 +321,6 @@ My_Extended_Poll::My_Extended_Poll ( Parameters & p )
ub_3
,
p
.
get_direction_types
()
,
p
.
get_sec_poll_dir_types
()
,
halton_seed
,
_p
.
out
()
);
}
}
...
...
examples/advanced/categorical/bi_obj/runExample.log
View file @
fee81ae9
Warning: {
Model use is disabled for problem with categorical variables.
}
Warning: {
Default anisotropic mesh is disabled with categorical and binary variables.
}
Warning: {
Model use is disabled in parallel mode (MPI).
}
Warning: {
Asynchronous mode is disabled in parallel mode (MPI) when dynamic directions (ortho n+1) are used.
}
multi-MADS run {
MADS run 1/30 ...... OK [bb eval= 60] [overall bb eval= 60] [# dominant pts= 5] [# new pts= 5] [f1=52.02241823 f2=52.95541823]
MADS run 2/30 ...... OK [bb eval= 66] [overall bb eval= 126] [# dominant pts= 5] [# new pts= 0] [f1=52.02241823 f2=51.05441823]
MADS run 3/30 ...... OK [bb eval= 57] [overall bb eval= 183] [# dominant pts= 6] [# new pts= 1] [f1=52.02241823 f2=51.56141823]
MADS run 4/30 ...... OK [bb eval= 49] [overall bb eval= 232] [# dominant pts= 6] [# new pts= 0] [f1=52.02241823 f2=51.70341823]
MADS run 5/30 ...... OK [bb eval=181] [overall bb eval= 413] [# dominant pts= 5] [# new pts= -1] [f1=44.95823059 f2=43.96223059]
MADS run 6/30 ...... OK [bb eval=203] [overall bb eval= 616] [# dominant pts= 5] [# new pts= 0] [f1=44.90686591 f2=43.90786591]
MADS run 7/30 ...... OK [bb eval=138] [overall bb eval= 754] [# dominant pts= 8] [# new pts= 3] [f1=44.90641676 f2=43.90741676]
MADS run 8/30 ...... OK [bb eval=124] [overall bb eval= 878] [# dominant pts= 8] [# new pts= 0] [f1=44.90640745 f2=43.91240745]
MADS run 9/30 ...... OK [bb eval=180] [overall bb eval= 1058] [# dominant pts= 8] [# new pts= 0] [f1=44.90640744 f2=43.91440744]
MADS run 10/30 ...... OK [bb eval= 96] [overall bb eval= 1154] [# dominant pts= 8] [# new pts= 0] [f1=44.90640744 f2=43.91340744]
MADS run 11/30 ...... OK [bb eval=168] [overall bb eval= 1322] [# dominant pts= 11] [# new pts= 3] [f1=44.90640744 f2=43.97340744]
MADS run 12/30 ...... OK [bb eval=201] [overall bb eval= 1523] [# dominant pts= 10] [# new pts= -1] [f1=44.89376891 f2=43.89876891]
MADS run 13/30 ...... OK [bb eval=204] [overall bb eval= 1727] [# dominant pts= 12] [# new pts= 2] [f1=44.88950881 f2=43.90550881]
MADS run 14/30 ...... OK [bb eval=202] [overall bb eval= 1929] [# dominant pts= 10] [# new pts= -2] [f1=44.88548533 f2=43.90048533]
MADS run 15/30 ...... OK [bb eval=212] [overall bb eval= 2141] [# dominant pts= 10] [# new pts= 0] [f1=44.88519731 f2=43.88619731]
MADS run 16/30 ...... OK [bb eval=209] [overall bb eval= 2350] [# dominant pts= 9] [# new pts= -1] [f1=44.88510307 f2=43.91210307]
MADS run 17/30 ...... OK [bb eval=203] [overall bb eval= 2553] [# dominant pts= 9] [# new pts= 0] [f1=44.88508265 f2=43.90208265]
MADS run 18/30 ...... OK [bb eval=239] [overall bb eval= 2792] [# dominant pts= 9] [# new pts= 0] [f1=44.88508168 f2=43.90108168]
MADS run 19/30 ...... OK [bb eval=222] [overall bb eval= 3014] [# dominant pts= 9] [# new pts= 0] [f1=44.8850816 f2=43.9070816]
MADS run 20/30 ...... OK [bb eval=207] [overall bb eval= 3221] [# dominant pts= 8] [# new pts= -1] [f1=44.8850816 f2=43.9610816]
MADS run 21/30 ...... OK [bb eval=180] [overall bb eval= 3401] [# dominant pts= 6] [# new pts= -2] [f1=44.8850816 f2=43.9010816]
MADS run 22/30 ...... OK [bb eval=174] [overall bb eval= 3575] [# dominant pts= 11] [# new pts= 5] [f1=44.8850816 f2=44.0440816]
MADS run 23/30 ...... OK [bb eval=176] [overall bb eval= 3751] [# dominant pts= 9] [# new pts= -2] [f1=44.8850816 f2=43.9800816]
MADS run 24/30 ...... OK [bb eval=187] [overall bb eval= 3938] [# dominant pts= 8] [# new pts= -1] [f1=44.8850816 f2=44.1020816]
MADS run 25/30 ...... OK [bb eval=166] [overall bb eval= 4104] [# dominant pts= 10] [# new pts= 2] [f1=44.8850816 f2=43.9460816]
MADS run 26/30 ...... OK [bb eval=176] [overall bb eval= 4280] [# dominant pts= 11] [# new pts= 1] [f1=44.8850816 f2=43.9870816]
MADS run 27/30 ...... OK [bb eval= 2] [overall bb eval= 4282] [# dominant pts= 11] [# new pts= 0] [f1=44.8850816 f2=43.9460816]
MADS run 28/30 ...... OK [bb eval= 0] [overall bb eval= 4282] [# dominant pts= 11] [# new pts= 0] [f1=44.8850816 f2=43.9870816]
MADS run 29/30 ...... OK [bb eval= 0] [overall bb eval= 4282] [# dominant pts= 11] [# new pts= 0] [f1=44.8850816 f2=43.9460816]
MADS run 30/30 ...... OK [bb eval= 0] [overall bb eval= 4282] [# dominant pts= 11] [# new pts= 0] [f1=44.8850816 f2=43.9870816]
} end of run (max number of MADS runs)
blackbox evaluations : 4282
number of MADS runs : 30
MADS run 1 ...... OK [bb eval= 78] [overall bb eval= 78] [# dominant pts= 2] [# new pts= 2] [f1=52.02241823 f2=51.31041823]
MADS run 2 ...... OK [bb eval= 39] [overall bb eval= 117] [# dominant pts= 3] [# new pts= 1] [f1=52.0224221 f2=51.0754221]
MADS run 3 ...... OK [bb eval= 39] [overall bb eval= 156] [# dominant pts= 3] [# new pts= 0] [f1=52.02242186 f2=51.23342186]
MADS run 4 ...... OK [bb eval= 38] [overall bb eval= 194] [# dominant pts= 4] [# new pts= 1] [f1=52.02242186 f2=51.06242186]
MADS run 5 ...... OK [bb eval= 39] [overall bb eval= 233] [# dominant pts= 5] [# new pts= 1] [f1=52.02242186 f2=51.19342186]
MADS run 6 ...... OK [bb eval= 7] [overall bb eval= 240] [# dominant pts= 5] [# new pts= 0] [f1=52.02242186 f2=51.19342186]
MADS run 7 ...... OK [bb eval= 39] [overall bb eval= 279] [# dominant pts= 2] [# new pts= -3] [f1=45.36506988 f2=44.51306988]
MADS run 8 ...... OK [bb eval= 39] [overall bb eval= 318] [# dominant pts= 3] [# new pts= 1] [f1=45.36506988 f2=44.51306988]
MADS run 9 ...... OK [bb eval= 39] [overall bb eval= 357] [# dominant pts= 7] [# new pts= 4] [f1=44.99982416 f2=44.55082416]
MADS run 10 ...... OK [bb eval= 39] [overall bb eval= 396] [# dominant pts= 4] [# new pts= -3] [f1=44.97647101 f2=44.00347101]
MADS run 11 ...... OK [bb eval= 39] [overall bb eval= 435] [# dominant pts= 4] [# new pts= 0] [f1=44.9661848 f2=44.1371848]
MADS run 12 ...... OK [bb eval= 39] [overall bb eval= 474] [# dominant pts= 5] [# new pts= 1] [f1=44.9661848 f2=44.1371848]
MADS run 13 ...... OK [bb eval= 26] [overall bb eval= 500] [# dominant pts= 5] [# new pts= 0] [f1=44.96576761 f2=45.17076761]
} end of run (max number of bb evaluations)
blackbox evaluations : 500
number of MADS runs : 13
Pareto front {
44.8849906075 45.5549906075
44.8850816013 45.5000816013
44.8850816013 45.2800816013
44.8850816013 44.2430816013
44.8850816013 43.9800816013
44.8850816013 43.9260816013
44.8850816013 43.9020816013
44.8850816013 43.9010816013
44.8850816075 43.8900816075
44.8850816076 43.8890816076
44.8851973070 43.8861973070
44.9348019953 45.4168019953
44.9657676108 45.1707676108
44.9661847951 44.1371847951
44.9738637269 44.0708637269
44.9764710086 44.0034710086
}
number of Pareto points:
11
number of Pareto points:
5
examples/advanced/categorical/single_obj/categorical.cpp
View file @
fee81ae9
...
...
@@ -44,404 +44,415 @@
using
namespace
std
;
using
namespace
NOMAD
;
#define USE_SURROGATE false
#define USE_SURROGATE false
/*----------------------------------------*/
/* the problem */
/*----------------------------------------*/
class
My_Evaluator
:
public
Evaluator
{
class
My_Evaluator
:
public
Evaluator
{
public:
My_Evaluator
(
const
Parameters
&
p
)
:
My_Evaluator
(
const
Parameters
&
p
)
:
Evaluator
(
p
)
{}
~
My_Evaluator
(
void
)
{}
bool
eval_x
(
Eval_Point
&
x
,
const
Double
&
h_max
,
bool
&
count_eval
)
const
;
~
My_Evaluator
(
void
)
{}
bool
eval_x
(
Eval_Point
&
x
,
const
Double
&
h_max
,
bool
&
count_eval
)
const
;
};
/*--------------------------------------------------*/
/* user class to define categorical neighborhoods */
/*--------------------------------------------------*/
class
My_Extended_Poll
:
public
Extended_Poll
{
class
My_Extended_Poll
:
public
Extended_Poll
{
private:
// signatures for 1, 2, and 3 assets:
Signature
*
_s1
,
*
_s2
,
*
_s3
;
// signatures for 1, 2, and 3 assets:
Signature
*
_s1
,
*
_s2
,
*
_s3
;
public:
// constructor:
My_Extended_Poll
(
Parameters
&
);
// destructor:
virtual
~
My_Extended_Poll
(
void
)
{
delete
_s1
;
delete
_s2
;
delete
_s3
;
}
// construct the extended poll points:
virtual
void
construct_extended_points
(
const
Eval_Point
&
);
// constructor:
My_Extended_Poll
(
Parameters
&
);
// destructor:
virtual
~
My_Extended_Poll
(
void
)
{
delete
_s1
;
delete
_s2
;
delete
_s3
;
}
// construct the extended poll points:
virtual
void
construct_extended_points
(
const
Eval_Point
&
);
};
/*------------------------------------------*/
/* NOMAD main function */
/*------------------------------------------*/
int
main
(
int
argc
,
char
**
argv
)
{
// NOMAD initializations:
begin
(
argc
,
argv
);
// display:
Display
out
(
cout
);
out
.
precision
(
DISPLAY_PRECISION_STD
);
// check the number of processess:
int
main
(
int
argc
,
char
**
argv
)
{
// NOMAD initializations:
begin
(
argc
,
argv
);
// display:
Display
out
(
cout
);
out
.
precision
(
DISPLAY_PRECISION_STD
);
// check the number of processess:
#ifdef USE_MPI
if
(
Slave
::
get_nb_processes
()
<
2
)
{
if
(
Slave
::
is_master
()
)
cerr
<<
"usage:
\'
mpirun -np p ./categorical
\'
with p>1"
<<
endl
;
end
();
return
EXIT_FAILURE
;
}
if
(
Slave
::
get_nb_processes
()
<
2
)
{
if
(
Slave
::
is_master
()
)
cerr
<<
"usage:
\'
mpirun -np p ./categorical
\'
with p>1"
<<
endl
;
end
();
return
EXIT_FAILURE
;
}
#endif
try
{
// parameters creation:
Parameters
p
(
out
);
if
(
USE_SURROGATE
)
p
.
set_HAS_SGTE
(
true
);
// p.set_DISPLAY_DEGREE ( FULL_DISPLAY );
p
.
set_MAX_BB_EVAL
(
200
);
p
.
set_DIMENSION
(
3
);
vector
<
bb_output_type
>
bbot
(
3
);
bbot
[
0
]
=
EB
;
// budget constraint
bbot
[
1
]
=
EB
;
// total value >= 1$