A Nonconvex Proximal Bundle Method for Nonsmooth Constrained Optimization
Algorithm 1
A proximal bundle algorithm for nonconvex functions.
Step 0 (Initialization):
Choose such that . Choose the stationarity tolerance , the proximity measure , the improvement parameter , the cut parameter , the reduction parameter , the increase parameter , the infeasibility contraction bound [0,1), the initial penalty coefficient , and the maximal number of stored subgradients . Set . Set the outer iteration counter , the inner iteration counter .
Step 1 (Safeguard parameters setting):
If , terminate; otherwise set ,,.
Step 2 (Direction finding):
Solve repeatedly by choosing decreasing value of (for the first time choose ) and find the solution of problem (12) for until
where . If such does exist, let equals the maximum value of ; otherwise set . Denote the optimal solution of by , and set . If , go to Step 5.
Step 3 (Penalty updating):
If , choose and replace by , go to Step 2.
Step 4 (Stationarity test):
Set
Calculate
If , terminate; else set := , go to Step 2.
Step 5 (Trial point calculating):
Compute , and set ,.
Step 6 (Insertion of index):
(a) If and , insert the element into the bundle for an appropriate value of and set := .
(b) Else, if , insert the element , into the bundle for an appropriate value of .
(c) Else find a scalar such that satisfies the condition , where ,, and insert the element , into the bundle for an appropriate value of , where .
(d) Insert the element into the bundle .
Step 7 (Descent test):
If
set ,, the new stability center (serious step); otherwise set (null step).
Step 8 (Bundle updating):
Select sets such that , and , where corresponding to nonzero multipliers satisfy . Set ,. Set . If a serious step is taken, increase by 1 and go to Step 1, otherwise increase by 1 and go to Step 2.