An implementation of the Probabilistic Branch and Bound version based on research published most recently in the paper "Partition-based Approach to Level Set Approximation for Simulation Optimization" by Huang and Zabinsky 2014 published in the proceedings of the winter sim
c_SubRegion.py - the class of subregions that will track the points sampled fun_PBnB_supplements - the suplemental functions that branch, sample, and prune the subregions tracked by PBnB m_initial_parameters_setting.py - the object that controls the parameters for the PBnB run PBnB.py - the main PBnB algorithm loop, along with a default test function 'main'
testfunction_rosenbrock - a test function of the 2D rosenbrock function testfunction_shifted - a test function of the 2D sinusoidal function
To run the basic program output, the PBnB.py file. The 'main' function will run a default version of the program and output three named files "Rosenbrock_test_DATE.png" that show the 2-dimensional picture of the approximated level-set on the tested domain. In order to modify the function that is run or the optimizer parameters, modify "fun_blackbox" variable to the name of the new function to be optimized and modify parameters located in the "m_initial_parameters_setting.py" file.
Posted software is available for free for research purposes under conditions of fair attribution. Please cite the listed research when using code for future scientific and engineering applications.
Zabinsky, Z. B., and Huang H., โA Partition-based Optimization Approach for Level Set Approximation: Probabilistic Branch and Bound.โ An invited book chapter in, Women in Industrial and Systems Engineering: Key Advances and Perspectives on Emerging Topics, Alice E. Smith, editor, Springer Nature, pages 113-158, 2020.