Commit 6a4079b0 authored by Miroslav Shaltev's avatar Miroslav Shaltev
Browse files

Update to Nomad 3.7.3

parent 65a3fb19
No preview for this file type
......@@ -2,22 +2,24 @@ Warning: {
Model use is disabled for problem with categorical variables.
}
Warning: {
Anisotropic mesh are not supported with categorical and binary variables.
Default anisotropic mesh is disabled with categorical and binary variables.
}
NOMAD - version 3.7.1 - www.gerad.ca/nomad
Copyright (C) 2001-2015 {
Mark A. Abramson - The Boeing Company
NOMAD - version 3.7.3 has been created by {
Charles Audet - Ecole Polytechnique de Montreal
Gilles Couture - Ecole Polytechnique de Montreal
John E. Dennis, Jr. - Rice University
Sebastien Le Digabel - Ecole Polytechnique de Montreal
Christophe Tribes - Ecole Polytechnique de Montreal
}
Funded in part by AFOSR and Exxon Mobil.
The copyright of NOMAD - version 3.7.3 is owned by {
Sebastien Le Digabel - Ecole Polytechnique de Montreal
Christophe Tribes - Ecole Polytechnique de Montreal
}
NOMAD version 3 is a new version of Nomad v1 and v2, it has been funded by AFOSR and Exxon Mobil.
Nomad v1 and v2 were created and developed by Mark A. Abramson from The Boeing Company, Charles Audet and Gilles Couture from Ecole Polytechnique de Montreal, and John E. Dennis Jr. from Rice University, and were funded by AFOSR and Exxon Mobil.
Download : www.gerad.ca/nomad
License : '$NOMAD_HOME/src/lgpl.txt'
User guide: '$NOMAD_HOME/doc/user_guide.pdf'
Examples : '$NOMAD_HOME/examples'
......
EXE = categorical.exe
EXE_MPI = categorical_MPI.exe
COMPILATOR = g++
COMPILATOR_MPI = mpic++
SUNAME = $(shell uname)
OSS=$(findstring MINGW32,$(SUNAME))
ifneq "$(strip $(OSS))" ""
COMPILATOR_MPI = g++
endif
UNAME := $(shell uname)
EXE = categorical.exe
EXE_MPI = categorical_MPI.exe
COMPILATOR_OPTIONS = -g -ansi
COMPILATOR = g++
COMPILATOR_MPI = mpic++
COMPILATOR_OPTIONS = -O2 -ansi
COMPILATOR_OPTIONS_MPI = $(COMPILATOR_OPTIONS) -DUSE_MPI
L1 = $(NOMAD_HOME)/lib/nomad.a
L1_MPI = $(NOMAD_HOME)/lib/nomad.MPI.a
LIBS = $(L1) -lm
LIBS_MPI = $(L1_MPI) -lm -lmpi
INCLUDE = -I$(NOMAD_HOME)/src -I.
COMPILE = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
COMPILE_MPI = $(COMPILATOR_MPI) $(COMPILATOR_OPTIONS_MPI) $(INCLUDE) -c
OBJS = categorical.o
OBJS_MPI = categorical_MPI.o
LIB_DIR = $(NOMAD_HOME)/lib
LIB_NOMAD = libnomad.so
LIB_NOMAD_MPI = libnomad.MPI.so
CXXFLAGS =
ifeq ($(UNAME), Linux)
CXXFLAGS += -Wl,-rpath,'$(LIB_DIR)'
CXXFLAGS += -ansi
endif
CXXFLAGS_MPI = $(CXXFLAGS) -DUSE_MPI
LDLIBS = -lm -lnomad
LDLIBS_MPI = -lm -lmpi -lnomad.MPI
INCLUDE = -I$(NOMAD_HOME)/src -I.
COMPILE = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
COMPILE_MPI = $(COMPILATOR_MPI) $(COMPILATOR_OPTIONS_MPI) $(INCLUDE) -c
OBJS = categorical.o
OBJS_MPI = categorical_MPI.o
ifndef NOMAD_HOME
......@@ -30,19 +42,23 @@ endef
endif
$(EXE): $(L1) $(OBJS)
$(EXE): $(OBJS)
$(ECHO_NOMAD)
@echo " building the scalar version ..."
@echo " exe file : "$(EXE)
@$(COMPILATOR) -o $(EXE) $(OBJS) $(LIBS) $(COMPILATOR_OPTIONS)
@strip $(EXE)
@$(COMPILATOR) -o $(EXE) $(OBJS) $(LDLIBS) $(CXXFLAGS) -L$(LIB_DIR)
ifeq ($(UNAME), Darwin)
@install_name_tool -change $(LIB_NOMAD) $(NOMAD_HOME)/lib/$(LIB_NOMAD) $(EXE)
endif
$(EXE_MPI): $(L1_MPI) $(OBJS_MPI)
$(EXE_MPI): $(OBJS_MPI)
$(ECHO_NOMAD)
@echo " building the MPI version ..."
@echo " exe file : "$(EXE_MPI)
@$(COMPILATOR_MPI) -o $(EXE_MPI) $(OBJS_MPI) $(LIBS_MPI) $(COMPILATOR_OPTIONS_MPI)
@strip $(EXE_MPI)
@$(COMPILATOR_MPI) -o $(EXE_MPI) $(OBJS_MPI) $(LDLIBS_MPI) $(CXXFLAGS_MPI) -L$(LIB_DIR)
ifeq ($(UNAME), Darwin)
@install_name_tool -change $(LIB_NOMAD_MPI) $(NOMAD_HOME)/lib/$(LIB_NOMAD_MPI) $(EXE_MPI)
endif
categorical.o: categorical.cpp
$(ECHO_NOMAD)
......@@ -50,10 +66,8 @@ categorical.o: categorical.cpp
categorical_MPI.o: categorical.cpp
$(ECHO_NOMAD)
@$(COMPILE_MPI) categorical.cpp -o categorical_MPI.o
@$(COMPILE_MPI) categorical.cpp -o $@
$(L1) $(L1_MPI): ;
$(ECHO_NOMAD)
mpi: $(EXE_MPI)
......
......@@ -4,42 +4,55 @@ Warning: {
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 ...... 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
MADS run 1/30 ...... OK [bb eval= 60] [overall bb eval= 60] [# dominant pts= 6] [# new pts= 6] [f1=52.02241823 f2=52.95541823]
MADS run 2/30 ...... OK [bb eval= 74] [overall bb eval= 134] [# dominant pts= 6] [# new pts= 0] [f1=52.02241826 f2=51.05441826]
MADS run 3/30 ...... OK [bb eval= 58] [overall bb eval= 192] [# dominant pts= 7] [# new pts= 1] [f1=52.02241823 f2=51.45041823]
MADS run 4/30 ...... OK [bb eval= 68] [overall bb eval= 260] [# dominant pts= 6] [# new pts= -1] [f1=52.02241823 f2=51.51641823]
MADS run 5/30 ...... OK [bb eval= 54] [overall bb eval= 314] [# dominant pts= 7] [# new pts= 1] [f1=52.02241823 f2=51.41441823]
MADS run 6/30 ...... OK [bb eval= 0] [overall bb eval= 314] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.51641823]
MADS run 7/30 ...... OK [bb eval= 0] [overall bb eval= 314] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.41441823]
MADS run 8/30 ...... OK [bb eval= 0] [overall bb eval= 314] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.51641823]
MADS run 9/30 ...... OK [bb eval= 0] [overall bb eval= 314] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.41441823]
MADS run 10/30 ...... OK [bb eval= 0] [overall bb eval= 314] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.51641823]
MADS run 11/30 ...... OK [bb eval= 0] [overall bb eval= 314] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.41441823]
MADS run 12/30 ...... OK [bb eval= 0] [overall bb eval= 314] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.51641823]
MADS run 13/30 ...... OK [bb eval= 0] [overall bb eval= 314] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.41441823]
MADS run 14/30 ...... OK [bb eval= 49] [overall bb eval= 363] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.25241823]
MADS run 15/30 ...... OK [bb eval= 57] [overall bb eval= 420] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.06141823]
MADS run 16/30 ...... OK [bb eval= 50] [overall bb eval= 470] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.22141823]
MADS run 17/30 ...... OK [bb eval= 0] [overall bb eval= 470] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.51641823]
MADS run 18/30 ...... OK [bb eval= 0] [overall bb eval= 470] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.41441823]
MADS run 19/30 ...... OK [bb eval= 0] [overall bb eval= 470] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.25241823]
MADS run 20/30 ...... OK [bb eval= 0] [overall bb eval= 470] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.51641823]
MADS run 21/30 ...... OK [bb eval= 0] [overall bb eval= 470] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.41441823]
MADS run 22/30 ...... OK [bb eval= 0] [overall bb eval= 470] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.06141823]
MADS run 23/30 ...... OK [bb eval= 0] [overall bb eval= 470] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.22141823]
MADS run 24/30 ...... OK [bb eval= 0] [overall bb eval= 470] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.25241823]
MADS run 25/30 ...... OK [bb eval= 0] [overall bb eval= 470] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.51641823]
MADS run 26/30 ...... OK [bb eval= 0] [overall bb eval= 470] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.41441823]
MADS run 27/30 ...... OK [bb eval= 0] [overall bb eval= 470] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.06141823]
MADS run 28/30 ...... OK [bb eval= 0] [overall bb eval= 470] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.22141823]
MADS run 29/30 ...... OK [bb eval= 0] [overall bb eval= 470] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.51641823]
MADS run 30/30 ...... OK [bb eval= 0] [overall bb eval= 470] [# dominant pts= 7] [# new pts= 0] [f1=52.02241823 f2=51.25241823]
} end of run (max number of MADS runs)
blackbox evaluations : 470
number of MADS runs : 30
Pareto front {
44.9348019953 45.4168019953
44.9657676108 45.1707676108
44.9661847951 44.1371847951
44.9738637269 44.0708637269
44.9764710086 44.0034710086
52.0224182340 52.9554182340
52.0224182340 52.5564182340
52.0224182340 51.4504182340
52.0224182340 51.2524182340
52.0224182340 51.2214182340
52.0224182340 51.0614182340
52.0224182340 51.0254182340
}
number of Pareto points: 5
number of Pareto points: 7
EXE = categorical.exe
EXE_MPI = categorical_MPI.exe
COMPILATOR = g++
COMPILATOR_MPI = mpic++
SUNAME = $(shell uname)
OSS=$(findstring MINGW32,$(SUNAME))
ifneq "$(strip $(OSS))" ""
COMPILATOR_MPI = g++
endif
UNAME := $(shell uname)
EXE = categorical.exe
EXE_MPI = categorical_MPI.exe
COMPILATOR_OPTIONS = -O2 -ansi
COMPILATOR = g++
COMPILATOR_MPI = mpic++
COMPILATOR_OPTIONS = -O2 -ansi
COMPILATOR_OPTIONS_MPI = $(COMPILATOR_OPTIONS) -DUSE_MPI
L1 = $(NOMAD_HOME)/lib/nomad.a
L1_MPI = $(NOMAD_HOME)/lib/nomad.MPI.a
LIBS = $(L1) -lm
LIBS_MPI = $(L1_MPI) -lm -lmpi
INCLUDE = -I$(NOMAD_HOME)/src -I.
COMPILE = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
COMPILE_MPI = $(COMPILATOR_MPI) $(COMPILATOR_OPTIONS_MPI) $(INCLUDE) -c
OBJS = categorical.o
OBJS_MPI = categorical_MPI.o
LIB_DIR = $(NOMAD_HOME)/lib
LIB_NOMAD = libnomad.so
LIB_NOMAD_MPI = libnomad.MPI.so
CXXFLAGS =
ifeq ($(UNAME), Linux)
CXXFLAGS += -Wl,-rpath,'$(LIB_DIR)'
CXXFLAGS += -ansi
endif
CXXFLAGS_MPI = $(CXXFLAGS) -DUSE_MPI
LDLIBS = -lm -lnomad
LDLIBS_MPI = -lm -lmpi -lnomad.MPI
INCLUDE = -I$(NOMAD_HOME)/src -I.
COMPILE = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
COMPILE_MPI = $(COMPILATOR_MPI) $(COMPILATOR_OPTIONS_MPI) $(INCLUDE) -c
OBJS = categorical.o
OBJS_MPI = categorical_MPI.o
ifndef NOMAD_HOME
......@@ -30,19 +42,23 @@ endef
endif
$(EXE): $(L1) $(OBJS)
$(EXE): $(OBJS)
$(ECHO_NOMAD)
@echo " building the scalar version ..."
@echo " exe file : "$(EXE)
@$(COMPILATOR) -o $(EXE) $(OBJS) $(LIBS) $(COMPILATOR_OPTIONS)
@strip $(EXE)
@$(COMPILATOR) -o $(EXE) $(OBJS) $(LDLIBS) $(CXXFLAGS) -L$(LIB_DIR)
ifeq ($(UNAME), Darwin)
@install_name_tool -change $(LIB_NOMAD) $(NOMAD_HOME)/lib/$(LIB_NOMAD) $(EXE)
endif
$(EXE_MPI): $(L1_MPI) $(OBJS_MPI)
$(EXE_MPI): $(OBJS_MPI)
$(ECHO_NOMAD)
@echo " building the MPI version ..."
@echo " exe file : "$(EXE_MPI)
@$(COMPILATOR_MPI) -o $(EXE_MPI) $(OBJS_MPI) $(LIBS_MPI) $(COMPILATOR_OPTIONS_MPI)
@strip $(EXE_MPI)
@$(COMPILATOR_MPI) -o $(EXE_MPI) $(OBJS_MPI) $(LDLIBS_MPI) $(CXXFLAGS_MPI) -L$(LIB_DIR)
ifeq ($(UNAME), Darwin)
@install_name_tool -change $(LIB_NOMAD_MPI) $(NOMAD_HOME)/lib/$(LIB_NOMAD_MPI) $(EXE_MPI)
endif
categorical.o: categorical.cpp
$(ECHO_NOMAD)
......@@ -50,10 +66,8 @@ categorical.o: categorical.cpp
categorical_MPI.o: categorical.cpp
$(ECHO_NOMAD)
@$(COMPILE_MPI) categorical.cpp -o categorical_MPI.o
@$(COMPILE_MPI) categorical.cpp -o $@
$(L1) $(L1_MPI): ;
$(ECHO_NOMAD)
mpi: $(EXE_MPI)
......
1.0065227779901828597530766273849 0.0061576008796691908409037807814457 0.99995827823866767491978180260048 1.0093326058145666301868459413527 1.0032484173774720570548879550188
\ No newline at end of file
0.9999740474925636890546343238384 3.9134074383641649674033663464101e-05 0.99997595080463674843684884763206 0.99999589110497688615453171223635 0.99999324108060483329296630472527
\ No newline at end of file
EXE = multi.exe
COMPILATOR = g++
COMPILATOR_OPTIONS = -ansi -O2
L1 = $(NOMAD_HOME)/lib/nomad.a
LIBS = $(L1) -lm
INCLUDE = -I$(NOMAD_HOME)/src -I.
COMPILE = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
OBJS = multi.o
UNAME := $(shell uname)
EXE = multi.exe
COMPILATOR = g++
COMPILATOR_OPTIONS = -ansi -O2
LIB_DIR = $(NOMAD_HOME)/lib
LIB_NOMAD = libnomad.so
CXXFLAGS =
ifeq ($(UNAME), Linux)
CXXFLAGS += -Wl,-rpath,'$(LIB_DIR)'
CXXFLAGS += -ansi
endif
LDLIBS = -lm -lnomad
INCLUDE = -I$(NOMAD_HOME)/src -I.
COMPILE = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
OBJS = multi.o
ifndef NOMAD_HOME
define ECHO_NOMAD
......@@ -14,11 +26,15 @@ define ECHO_NOMAD
endef
endif
$(EXE): $(L1) $(OBJS)
$(EXE): $(OBJS)
$(ECHO_NOMAD)
@echo " building the scalar version ..."
@echo " exe file : "$(EXE)
$(COMPILATOR) -o $(EXE) $(OBJS) $(LIBS) $(COMPILATOR_OPTIONS)
@$(COMPILATOR) -o $(EXE) $(OBJS) $(LDLIBS) $(CXXFLAGS) -L$(LIB_DIR)
ifeq ($(UNAME), Darwin)
@install_name_tool -change $(LIB_NOMAD) $(NOMAD_HOME)/lib/$(LIB_NOMAD) $(EXE)
endif
multi.o: multi.cpp
$(ECHO_NOMAD)
......
starting point # 0: ( 1.311638583 0.3116009987 0.9520390845 0.8088161243 1.540724398 1.619263445 0.9519058983 )
starting point # 0: ( 0.5802249825 1.631108467 1.028915701 1.041199968 0.8987064366 1.883811294 1.475481573 )
starting point # 1: ( 4.046907118 0.2179386209 0.3995457903 2.86002185 2.869872299 1.805805862 0.9241232544 )
starting point # 2: ( 2.730496038 4.019688198 2.015450408 3.887235003 1.919237215 0.004176816764 2.788539635 )
starting point # 3: ( 1.986593711 1.814325217 1.166098379 0.9517739273 0.4086947283 3.9836116 2.239536416 )
......@@ -8,14 +8,14 @@ starting point # 4: ( 1.072412482 2.713920967 3.075009451 0.3310437183 1.0323001
Warning: {
Anisotropic mesh is disabled for direction types other than OrthoMads.
}
run # 0: f=1.619155361
run # 1: f=1.890750373
run # 2: f=2.267307514
run # 3: f=1.998968772
run # 4: f=2.24968126
run # 0: f=1.933149587
run # 1: f=1.998299291
run # 2: f=2.185446803
run # 3: f=1.978020317
run # 4: f=2.037153616
bb eval : 5000
best : 1.619155361
worst : 2.267307514
solution: x = ( 1.310592306 0.3106177009 0.9507953978 0.8088442339 1.538847818 1.618878923 0.951419131 ) f(x) = 1.619155361
best : 1.933149587
worst : 2.185446803
solution: x = ( 0.6020877754 1.616716377 1.043857108 1.033179949 0.9025516515 1.899521743 1.402861944 ) f(x) = 1.933149587
EXE = nomad_plot.exe
COMPILATOR = g++
COMPILATOR_OPTIONS = -ansi -O2
L1 = $(NOMAD_HOME)/lib/nomad.a
LIBS = $(L1) -lc -lm
INCLUDE = -I $(NOMAD_HOME)/src -I.
COMPILE = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
OBJS = nomad_plot.o
UNAME := $(shell uname)
EXE = nomad_plot.exe
COMPILATOR = g++
COMPILATOR_OPTIONS = -ansi -O2
LIB_DIR = $(NOMAD_HOME)/lib
LIB_NOMAD = libnomad.so
CXXFLAGS =
ifeq ($(UNAME), Linux)
CXXFLAGS += -Wl,-rpath,'$(LIB_DIR)'
CXXFLAGS += -ansi
endif
LDLIBS = -lm -lnomad
INCLUDE = -I $(NOMAD_HOME)/src -I.
COMPILE = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
OBJS = nomad_plot.o
$(EXE): $(OBJS)
$(COMPILATOR) -o $(EXE) $(OBJS) $(LIBS) $(COMPILATOR_OPTIONS)
$(ECHO_NOMAD)
@echo " building the scalar version ..."
@echo " exe file : "$(EXE)
@$(COMPILATOR) -o $(EXE) $(OBJS) $(LDLIBS) $(CXXFLAGS) -L$(LIB_DIR)
ifeq ($(UNAME), Darwin)
@install_name_tool -change $(LIB_NOMAD) $(LIB_DIR)/$(LIB_NOMAD) $(EXE)
endif
nomad_plot.o: nomad_plot.cpp $(L1)
nomad_plot.o: nomad_plot.cpp
$(ECHO_NOMAD)
$(COMPILE) nomad_plot.cpp
clean:
......
EXE = restart.exe
UNAME := $(shell uname)
EXE = restart.exe
EXE_MPI = restart_MPI.exe
COMPILATOR = g++
COMPILATOR_MPI = mpic++
SUNAME = $(shell uname)
OSS=$(findstring MINGW32,$(SUNAME))
ifneq "$(strip $(OSS))" ""
COMPILATOR_MPI = g++
COMPILATOR = g++
COMPILATOR_MPI = mpic++
COMPILATOR_OPTIONS = -g -O2 -ansi
COMPILATOR_OPTIONS_MPI = $(COMPILATOR_OPTIONS) -DUSE_MPI
LIB_DIR = $(NOMAD_HOME)/lib
LIB_NOMAD = libnomad.so
LIB_NOMAD_MPI = libnomad.MPI.so
CXXFLAGS =
ifeq ($(UNAME), Linux)
CXXFLAGS += -Wl,-rpath,'$(LIB_DIR)'
CXXFLAGS += -ansi
endif
CXXFLAGS_MPI = $(CXXFLAGS) -DUSE_MPI
LDLIBS = -lm -lnomad
LDLIBS_MPI = -lm -lmpi -lnomad.MPI
COMPILATOR_OPTIONS = -O2 -ansi
COMPILATOR_OPTIONS_MPI = $(COMPILATOR_OPTIONS) -DUSE_MPI
L1 = $(NOMAD_HOME)/lib/nomad.a
L1_MPI = $(NOMAD_HOME)/lib/nomad.MPI.a
LIBS = $(L1) -lm
LIBS_MPI = $(L1_MPI) -lm -lmpi
INCLUDE = -I$(NOMAD_HOME)/src -I.
COMPILE = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
INCLUDE = -I$(NOMAD_HOME)/src -I.
COMPILE = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
COMPILE_MPI = $(COMPILATOR_MPI) $(COMPILATOR_OPTIONS_MPI) $(INCLUDE) -c
OBJS = restart.o
OBJS_MPI = restart_MPI.o
OBJS = restart.o
OBJS_MPI = restart_MPI.o
ifndef NOMAD_HOME
......@@ -30,19 +39,25 @@ endef
endif
$(EXE): $(L1) $(OBJS)
$(EXE): $(OBJS)
$(ECHO_NOMAD)
@echo " building the scalar version ..."
@echo " exe file : "$(EXE)
@$(COMPILATOR) -o $(EXE) $(OBJS) $(LIBS) $(COMPILATOR_OPTIONS)
@strip $(EXE)
@$(COMPILATOR) -o $(EXE) $(OBJS) $(LDLIBS) $(CXXFLAGS) -L$(LIB_DIR)
ifeq ($(UNAME), Darwin)
@install_name_tool -change $(LIB_NOMAD) $(NOMAD_HOME)/lib/$(LIB_NOMAD) $(EXE)
endif
$(EXE_MPI): $(L1_MPI) $(OBJS_MPI)
$(EXE_MPI): $(OBJS_MPI)
$(ECHO_NOMAD)
@echo " building the MPI version ..."
@echo " exe file : "$(EXE_MPI)
@$(COMPILATOR_MPI) -o $(EXE_MPI) $(OBJS_MPI) $(LIBS_MPI) $(COMPILATOR_OPTIONS_MPI)
@strip $(EXE_MPI)
@$(COMPILATOR_MPI) -o $(EXE_MPI) $(OBJS_MPI) $(LDLIBS_MPI) $(CXXFLAGS_MPI) -L$(LIB_DIR)
ifeq ($(UNAME), Darwin)
@install_name_tool -change $(LIB_NOMAD_MPI) $(NOMAD_HOME)/lib/$(LIB_NOMAD_MPI) $(EXE_MPI)
endif
restart.o: restart.cpp
$(ECHO_NOMAD)
......@@ -52,9 +67,6 @@ restart_MPI.o: restart.cpp
$(ECHO_NOMAD)
@$(COMPILE_MPI) restart.cpp -o restart_MPI.o
$(L1) $(L1_MPI): ;
$(ECHO_NOMAD)
mpi: $(EXE_MPI)
all: $(EXE) $(EXE_MPI)
......
......@@ -8,65 +8,70 @@ using namespace NOMAD;
/*----------------------------------------*/
/* the problem */
/*----------------------------------------*/
class My_Evaluator : public Evaluator {
class My_Evaluator : public Evaluator
{
private:
public:
My_Evaluator ( const Parameters & p ) : Evaluator ( p ) { }
~My_Evaluator ( void ) {}
virtual bool eval_x ( Eval_Point & x ,
const Double & h_max ,
bool & count_eval ) const;
virtual void update_iteration ( success_type success ,
const Stats & stats ,
const Evaluator_Control & ev_control ,
const Barrier & true_barrier ,
const Barrier & sgte_barrier ,
const Pareto_Front & pareto_front ,
bool & stop );
~My_Evaluator ( void ) { }
virtual bool eval_x ( Eval_Point & x ,
const Double & h_max ,
bool & count_eval ) const;
virtual void update_iteration ( success_type success ,
const Stats & stats ,
const Evaluator_Control & ev_control ,
const Barrier & true_barrier ,
const Barrier & sgte_barrier ,
const Pareto_Front & pareto_front ,
bool & stop );
};
/*----------------------------------------*/
/* user-defined eval_x */
/*----------------------------------------*/
bool My_Evaluator::eval_x ( Eval_Point & x ,
const Double & h_max ,
bool & count_eval ) const
const Double & h_max ,
bool & count_eval ) const
{
Double c1 = 0.0 , c2 = 0.0;
for ( int i = 0 ; i < 5 ; i++ ) {
c1 += (x[i]-1).pow2();
c2 += (x[i]+1).pow2();
}
x.set_bb_output ( 0 , x[4] ); // objective value
x.set_bb_output ( 1 , c1-25 ); // constraint 1
x.set_bb_output ( 2 , 25-c2 ); // constraint 2
count_eval = true; // count a black-box evaluation
return true; // the evaluation succeeded