About
This repository is forked from MODRG/DOTWrapper, created by Prof Gerhard Venter on 21 August 2019. The user is recommended to go through its README file first.
Requirements
- The DOT optimizer itself (commercially available form VR&D). A Python wrapper for DOT is provided that will allow the user to call the DOT shared library from Python. It should be noted DOT is a commercial optimizer, a license is required to use it.
- NumPy & Matplotlib Python library
File description
File | Description |
---|---|
dot.py | The Python wrapper for DOT |
dot.pdf | The DOT manual |
sec4_2_BoxDesign.py | The first example problem from the DOT manual, using the provided wrapper |
Figure for model 1
Figure for model 2
Figure for model 3
Modification
Reconstruct the dot.py file and implement the following methods to call:
print_init
can be used to check the input parameters.fit
calls DOT to resolve the problem.print_info
prints the following values to screen.- Objective function value
- Max violated constraint value
- Design variable values
plot_fig
plots the following values as figures. A flagis_savefig=True
can be used to save the figures and a flagdpi
can be used to set the resolution of the figures.- Objective function value
- Max violated constraint value
- Design variable values
Problem-defined steps
4 steps to complete the setting for a optimization problem:
- Define the problem in
myEvaluate
function. - Define
nDvar
&nCons
as integer. - Define
x
,xl
,xu
as numpy ndarray. - Configure the model(s) with corresponding method(s) to call.
Typically, the user is recommended to explore the solution by setting different nMethod value. Sometimes, interesting outcomes could be observed.
Acknowledgement
- Thanks for Prof Gerhard Venter constructing the original dot.py file.
- Thanks for VR&D sponsoring the trial license of DOT.