RTOpPack: Extra C/C++ Code for Vector Reduction/Transformation Operators Version of the Day

#include "RTOp.h"
Go to the source code of this file.
Classes  
struct  RTOp_ROp_max_near_feas_step_reduct_obj_t 
Reduction operator for finding the maximum near feasibl step.
targ_obj < { max alpha  v[0]  beta <= v[1] + alpha * v[2] <= v[3] + beta }
This is a specialized reduction operation that is used in many optimization methods to find the maximum step length alpha# such that the iterates remain positive. This reduction operation returns a target object which consists of a set of values
targ_obj = { alpha_pos, alpha_neg }
. Here, alpha_pos# and
alpha_neg
are the largets positive and negative steps alpha# respectively that satifies the relaxed bounds. If
alpha_pos < 0.0
on return then this is a flag that v[1]# is already out of bounds and the value of
alpha_neg
is insignificant.
This operator is defined to allow exactly four vector arguments (
num_vecs == 2
) v[0]
, v[1]
, and can only handle dense vectors.
Definition in file RTOp_ROp_max_near_feas_step.h.