log_barrier_function(func=None,
dfunc=None,
d2func=None,
args=( ) ,
x0=None,
min_options=( ) ,
A=None,
b=None,
epsilon0=0.01,
scale_epsilon=0.01,
func_tol=1e-25,
grad_tol=None,
maxiter=1000000.0,
inner_maxiter=500,
full_output=0,
print_flag=0)
| source code
|
The logarithmic barrier augmented function.
From http://en.wikipedia.org/wiki/Barrier_function and http://bayen.eecs.berkeley.edu/bayen/?q=webfm_send/247.
This is an augmented function, the algorithm is:
-
Given starting points x0s.
-
while 1:
-
Find an approximate minimiser xk of the target function value
plus the logarithmic barrier function value.
-
Final convergence test.
-
Scale the penalty function scaling factor epsilon.
-
k = k + 1.
Linear constraints
These are defined as:
A.x >= b
where:
-
A is an m*n matrix where the rows are the transposed vectors, ai,
of length n. The elements of ai are the coefficients of the model
parameters.
-
x is the vector of model parameters of dimension n.
-
b is the vector of scalars of dimension m.
-
m is the number of constraints.
-
n is the number of model parameters.
E.g. if 0 <= q <= 1, q >= 1 - 2r, and 0 <= r, then:
| 1 0 | | 0 |
| | | |
|-1 0 | | q | | -1 |
| | . | | >= | |
| 1 2 | | r | | 1 |
| | | |
| 0 1 | | 2 |
To use linear constraints both the matrix A and vector b need to be
supplied.
Initial values
These are the default initial values:
epsilon0 = 1e-2
scale_epsilon = 1e-2
|