/home/coin/svn-release/OptimizationSuite-1.1.0/Ipopt/src/Interfaces/IpStdCInterface.h File Reference

#include "IpReturnCodes.h"
Include dependency graph for IpStdCInterface.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define TRUE   (1)
#define FALSE   (0)

Typedefs

typedef double Number
 Type for all number.
typedef int Index
 Type for all incides.
typedef int Int
 Type for all integers.
typedef struct IpoptProblemInfo * IpoptProblem
 Pointer to a Ipopt Problem.
typedef int Bool
 define a boolean type for C
typedef void * UserDataPtr
 A pointer for anything that is to be passed between the called and individual callback function.
typedef Bool(* Eval_F_CB )(Index n, Number *x, Bool new_x, Number *obj_value, UserDataPtr user_data)
 Type defining the callback function for evaluating the value of the objective function.
typedef Bool(* Eval_Grad_F_CB )(Index n, Number *x, Bool new_x, Number *grad_f, UserDataPtr user_data)
 Type defining the callback function for evaluating the gradient of the objective function.
typedef Bool(* Eval_G_CB )(Index n, Number *x, Bool new_x, Index m, Number *g, UserDataPtr user_data)
 Type defining the callback function for evaluating the value of the constraint functions.
typedef Bool(* Eval_Jac_G_CB )(Index n, Number *x, Bool new_x, Index m, Index nele_jac, Index *iRow, Index *jCol, Number *values, UserDataPtr user_data)
 Type defining the callback function for evaluating the Jacobian of the constrant functions.
typedef Bool(* Eval_H_CB )(Index n, Number *x, Bool new_x, Number obj_factor, Index m, Number *lambda, Bool new_lambda, Index nele_hess, Index *iRow, Index *jCol, Number *values, UserDataPtr user_data)
 Type defining the callback function for evaluating the Hessian of the Lagrangian function.

Functions

IpoptProblem CreateIpoptProblem (Index n, Number *x_L, Number *x_U, Index m, Number *g_L, Number *g_U, Index nele_jac, Index nele_hess, Index index_style, Eval_F_CB eval_f, Eval_G_CB eval_g, Eval_Grad_F_CB eval_grad_f, Eval_Jac_G_CB eval_jac_g, Eval_H_CB eval_h)
 Function for creating a new Ipopt Problem object.
void FreeIpoptProblem (IpoptProblem ipopt_problem)
 Method for freeing a previously created IpoptProblem.
Bool AddIpoptStrOption (IpoptProblem ipopt_problem, char *keyword, char *val)
 Function for adding a string option.
Bool AddIpoptNumOption (IpoptProblem ipopt_problem, char *keyword, Number val)
 Function for adding a Number option.
Bool AddIpoptIntOption (IpoptProblem ipopt_problem, char *keyword, Int val)
 Function for adding an Int option.
Bool OpenIpoptOutputFile (IpoptProblem ipopt_problem, char *file_name, Int print_level)
 Function for opening an output file for a given name with given printlevel.
Bool SetIpoptProblemScaling (IpoptProblem ipopt_problem, Number obj_scaling, Number *x_scaling, Number *g_scaling)
 Optional function for setting scaling parameter for the NLP.
enum ApplicationReturnStatus IpoptSolve (IpoptProblem ipopt_problem, Number *x, Number *g, Number *obj_val, Number *mult_g, Number *mult_x_L, Number *mult_x_U, UserDataPtr user_data)
 Function calling the Ipopt optimization algorithm for a problem previously defined with CreateIpoptProblem.

Define Documentation

#define TRUE   (1)

Definition at line 45 of file IpStdCInterface.h.

#define FALSE   (0)

Definition at line 48 of file IpStdCInterface.h.


Typedef Documentation

typedef double Number

Type for all number.

We need to make sure that this is identical with what is defined in Common/IpTypes.hpp

Definition at line 21 of file IpStdCInterface.h.

typedef int Index

Type for all incides.

We need to make sure that this is identical with what is defined in Common/IpTypes.hpp

Definition at line 25 of file IpStdCInterface.h.

typedef int Int

Type for all integers.

We need to make sure that this is identical with what is defined in Common/IpTypes.hpp

Definition at line 29 of file IpStdCInterface.h.

typedef struct IpoptProblemInfo* IpoptProblem

Pointer to a Ipopt Problem.

Definition at line 40 of file IpStdCInterface.h.

typedef int Bool

define a boolean type for C

Definition at line 43 of file IpStdCInterface.h.

typedef void* UserDataPtr

A pointer for anything that is to be passed between the called and individual callback function.

Definition at line 53 of file IpStdCInterface.h.

typedef Bool(* Eval_F_CB)(Index n, Number *x, Bool new_x, Number *obj_value, UserDataPtr user_data)

Type defining the callback function for evaluating the value of the objective function.

Return value should be set to false if there was a problem doing the evaluation.

Definition at line 58 of file IpStdCInterface.h.

typedef Bool(* Eval_Grad_F_CB)(Index n, Number *x, Bool new_x, Number *grad_f, UserDataPtr user_data)

Type defining the callback function for evaluating the gradient of the objective function.

Return value should be set to false if there was a problem doing the evaluation.

Definition at line 64 of file IpStdCInterface.h.

typedef Bool(* Eval_G_CB)(Index n, Number *x, Bool new_x, Index m, Number *g, UserDataPtr user_data)

Type defining the callback function for evaluating the value of the constraint functions.

Return value should be set to false if there was a problem doing the evaluation.

Definition at line 70 of file IpStdCInterface.h.

typedef Bool(* Eval_Jac_G_CB)(Index n, Number *x, Bool new_x, Index m, Index nele_jac, Index *iRow, Index *jCol, Number *values, UserDataPtr user_data)

Type defining the callback function for evaluating the Jacobian of the constrant functions.

Return value should be set to false if there was a problem doing the evaluation.

Definition at line 76 of file IpStdCInterface.h.

typedef Bool(* Eval_H_CB)(Index n, Number *x, Bool new_x, Number obj_factor, Index m, Number *lambda, Bool new_lambda, Index nele_hess, Index *iRow, Index *jCol, Number *values, UserDataPtr user_data)

Type defining the callback function for evaluating the Hessian of the Lagrangian function.

Return value should be set to false if there was a problem doing the evaluation.

Definition at line 84 of file IpStdCInterface.h.


Function Documentation

IpoptProblem CreateIpoptProblem ( Index  n,
Number x_L,
Number x_U,
Index  m,
Number g_L,
Number g_U,
Index  nele_jac,
Index  nele_hess,
Index  index_style,
Eval_F_CB  eval_f,
Eval_G_CB  eval_g,
Eval_Grad_F_CB  eval_grad_f,
Eval_Jac_G_CB  eval_jac_g,
Eval_H_CB  eval_h 
)

Function for creating a new Ipopt Problem object.

This function returns an object that can be passed to the IpoptSolve call. It contains the basic definition of the optimization problem, such as number of variables and constraints, bounds on variables and constraints, information about the derivatives, and the callback function for the computation of the optimization problem functions and derivatives. During this call, the options file PARAMS.DAT is read as well.

If NULL is returned, there was a problem with one of the inputs or reading the options file.

Parameters:
n Number of optimization variables
x_L Lower bounds on variables. This array of size n is copied internally, so that the caller can change the incoming data after return without that IpoptProblem is modified. Any value less or equal than the number specified by option 'nlp_lower_bound_inf' is interpreted to be minus infinity.
x_U Upper bounds on variables. This array of size n is copied internally, so that the caller can change the incoming data after return without that IpoptProblem is modified. Any value greater or equal than the number specified by option 'nlp_upper_bound_inf' is interpreted to be plus infinity.
m Number of constraints.
g_L Lower bounds on constraints. This array of size m is copied internally, so that the caller can change the incoming data after return without that IpoptProblem is modified. Any value less or equal than the number specified by option 'nlp_lower_bound_inf' is interpreted to be minus infinity.
g_U Upper bounds on constraints. This array of size m is copied internally, so that the caller can change the incoming data after return without that IpoptProblem is modified. Any value greater or equal than the number specified by option 'nlp_upper_bound_inf' is interpreted to be plus infinity.
nele_jac Number of non-zero elements in constraint Jacobian.
nele_hess Number of non-zero elements in Hessian of Lagrangian.
index_style indexing style for iRow & jCol, 0 for C style, 1 for Fortran style
eval_f Callback function for evaluating objective function
eval_g Callback function for evaluating constraint functions
eval_grad_f Callback function for evaluating gradient of objective function
eval_jac_g Callback function for evaluating Jacobian of constraint functions
eval_h Callback function for evaluating Hessian of Lagrangian function
void FreeIpoptProblem ( IpoptProblem  ipopt_problem  ) 

Method for freeing a previously created IpoptProblem.

After freeing an IpoptProblem, it cannot be used anymore.

Bool AddIpoptStrOption ( IpoptProblem  ipopt_problem,
char *  keyword,
char *  val 
)

Function for adding a string option.

Returns FALSE the option could not be set (e.g., if keyword is unknown)

Bool AddIpoptNumOption ( IpoptProblem  ipopt_problem,
char *  keyword,
Number  val 
)

Function for adding a Number option.

Returns FALSE the option could not be set (e.g., if keyword is unknown)

Bool AddIpoptIntOption ( IpoptProblem  ipopt_problem,
char *  keyword,
Int  val 
)

Function for adding an Int option.

Returns FALSE the option could not be set (e.g., if keyword is unknown)

Bool OpenIpoptOutputFile ( IpoptProblem  ipopt_problem,
char *  file_name,
Int  print_level 
)

Function for opening an output file for a given name with given printlevel.

Returns false, if there was a problem opening the file.

Bool SetIpoptProblemScaling ( IpoptProblem  ipopt_problem,
Number  obj_scaling,
Number x_scaling,
Number g_scaling 
)

Optional function for setting scaling parameter for the NLP.

This corresponds to the get_scaling_parameters method in TNLP. If the pointers x_scaling or g_scaling are NULL, then no scaling for x resp. g is done.

enum ApplicationReturnStatus IpoptSolve ( IpoptProblem  ipopt_problem,
Number x,
Number g,
Number obj_val,
Number mult_g,
Number mult_x_L,
Number mult_x_U,
UserDataPtr  user_data 
)

Function calling the Ipopt optimization algorithm for a problem previously defined with CreateIpoptProblem.

The return specified outcome of the optimization procedure (e.g., success, failure etc).

Parameters:
ipopt_problem Problem that is to be optimized. Ipopt will use the options previously specified with AddIpoptOption (etc) for this problem.
x Input: Starting point Output: Optimal solution
g Values of constraint at final point (output only - ignored if set to NULL)
obj_val Final value of objective function (output only - ignored if set to NULL)
mult_g Final multipliers for constraints (output only - ignored if set to NULL)
mult_x_L Final multipliers for lower variable bounds (output only - ignored if set to NULL)
mult_x_U Final multipliers for upper variable bounds (output only - ignored if set to NULL)
user_data Pointer to user data. This will be passed unmodified to the callback functions.

Generated on 15 Mar 2015 for Coin-All by  doxygen 1.6.1