Professional Documents
Culture Documents
CS6235 ProjectPRoposal Revised
CS6235 ProjectPRoposal Revised
CS6235 ProjectPRoposal Revised
(Project Proposal)
Global Extrema locator using interval arithmetic
Introduction
We propose to implement an interval branch and bound algorithm(BB) that aims to find the global
maxima for a function in a given interval. The goal is to progressively find the best solution for the given
cost function using branch and bound technique until a termination condition is reached. Branch and
bound techniques deal with the optimization problems over a search space that can be presented as the
leaves of a search tree. BB is guaranteed to find an optimal solution, but its complexity in the worst case
is as high as that of exhaustive search. However, with the combination of interval analysis and leveraging
the gpu compute capability to restructure the interval priorities, it aims to reduce the search space of
intervals containing the extrema providing faster convergence. In following sections we discuss the crux
idea behind combining interval analysis with branch and bound, possibilities of parallelization and
leveraging using ILCS(iterated local champion search) framework.
Challenges
Synchronizing the gpu-cpu thread while maintain a proper work-balance for the cpu and gpu is the
primary challenge. We are using C++11 thread utility. Also we will be using openmp constructs to
parallelize parts of the cpu-thread where a lot of data exchange occurs(like copying queues across the
intervals libraries of the cpu and gpu).
Additionally, we need to look into the possibility of the gpu being able to prune certain parts of the
intervals such that the returned list is not just redistributed but also a pruned list of intervals. One
challenge in this aspect is maintaining the precision. The interval gpu libraries do not have the precison
requirement as used by the cpu-library. Also, the current fbest evaluation at the cpu-side needs to be
regularly communicated to the gpu-kernel through some shared resource such that the kernel can make
pruning decisions. However, if we consider these intervals to be anyway pruned by the cpu while
checking the upperbound, the overhead of cpu pruning the space is expected to be quite low(since only
comparison is done on those intervals that get pruned- no interval breakdown). Some experiments in these
direction will help to realize the proper location for pruning.
References
[1]Finding and Proving the optimum:Cooperative Stochastic and Deterministic Search Jean-Marc
Alliot, Nicolas Durand, David Gianazza, Jean-Baptiste Gotteland
[3]Efficient Search for inputs causing high floating point errors Wei-Fan Chiang, Ganesh
Gopalakrishnan, Zvonimir Rakamaric, Alexey Solovyev
[2]Introduction to interval analysis Ole Caprani, Kaj Madsen, Hans Bruun Nielson
[3]Interval Analysis R.E.Moore
[4]A Scalabale Heterogeneous Parallelization Framework for Iterative Local Searches Martin Burtscher,
Hassan Rabeti