On this page:

Multiobjective Double Bundle Method for Nonsmooth DC Programming

"If there is a problem you can't solve, then there is an easier problem you can solve: find it."
- George Polya


MDBDC is a proximal double bundle solver (Fortran 95) for nonsmooth multiobjective programming by K. Joki and O. Montonen. MDBDC is able to handle problems having objective and constraint functions which can be presented as a difference of two convex (DC) functions. The method is a descent type and it generalizes the ideas of DBDC to multiobjective and constraint case. Solutions obtained are guaranteed to be weakly Pareto stationary.

The software utilizes OpenMP at each round of 'main iteration' to calculate subproblems in parallel. To turn down OpenMP, see instructions in tmpbdc.f95. In addition, there is a possibility to use simple stepsize determination after each 'main iteration'. The software uses code PLQDF1 by Prof. Ladislav Luksan to solve quadratic direction finding problem.

The software is free for academic teaching and research purposes but I ask you to refer the reference given below if you use it. To use the software modify tmdbdc.f95 and functions.f95 as needed. If you have any questions concerning the software, please contact directly the author Kaisa Joki.


tmdbdc.f95 - Main program for MDBDC.
constants.f95 - Double precision and some other parameters.
bundle1.f95 - Bundle of DC component f_1.
bundle2.f95 - Bundle of DC component f_2.
functions.f95 - User-specified DC components f_1 and f_2 together with subgradients of DC components. Contains also user-specified initial values for parameters.
mdbdc.f95 - MDBDC method.

plqdf1.f - Quadratic solver by L. Luksan.

Makefile - Makefile.

mdbdc.tar.gz - all the above in compressed form.