Hi Robbie,

> I have a few suggestions for new or reinstated GLPK
> APIs.  Some were previously discussed in 2008, others
> are novel.  My guess is that some would require just a
> few lines of code.
> 

Thank you for your suggestions.

Based on the suggestions I think to add the following api routines:

glp_get_aij (glp_get_mat_val renamed) to retrieve a single constraint
coefficient (an element of the constraint matrix);

glp_set_aij (for symmetry);

glp_set_obj_row / glp_get_obj_row (glp_set_obj / glp_get_obj renamed);
similar to glp_set_mat_row / glp_set_mat_col.

Glp_get_class / glp_set_class are quite unclear. The point is that the
problem class mainly depends on the solver used, not on problem data.
For example, if you call glp_simplex, you solve lp even if some
variables are marked as integer.

As to glp_empty_prob, I think it is equivalent to existing api routine
glp_erase_prob. If you remove all rows and columns, there is no useful
internal information that would need to be retained.

> My application program makes a call to
> 'glp_term_out(GLP_OFF)' on start-up if the --silent
> command-line option has been set.  However this call is
> only legal if a problem object has already been created
> -- although it need not persist.

I don't think so. To access the glpk environment glp_term_out calls
get_env_ptr, which, in turn, calls glp_init_env, if necessary (please
see src/glpenv03.c).

> 
> Hence, the following (currently hypothetical) API might
> be useful:
> 
>     int glp_init_env()  /* returns zero on success */

Exactly this api routine exists and is documented, including its
counter-part glp_free_env.

> ---------------------------------
>  API request : glp_combine
> ---------------------------------
> 

The purpose of this routine is unclear, because there may be many
different ways in which two or more problems can be combined.


Best regards,

Andrew Makhorin



_______________________________________________
Help-glpk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-glpk

Reply via email to