Skip to main content

In Generated Math Programs one can adjust (Set) or retrieve (Get) e.g. coefficients, right hand sides etc. For the “Set’ part, we have a number of Multi functions that allows you to adjust more than 1 row, column, coefficient in 1-go. We are wondering whether similar functionality for Get would be valuable and what your use case is. Can you let us know by voting and commenting below?

We are specifically thinking about the following functions that are currently element based (you might think of others as well):

  • GMP::Coefficient::Get
  • GMP::Row::GetRightHandSide
  • GMP::Column::GetLowerBound
  • GMP::Column::GetUpperBound

The multi routines will use indices in the sets of column numbers and row numbers as arguments (these sets can be obtained by using GMP::Instance::GetColumnNumbers and GMP::Instance::GetRowNumbers). The data will be stored in a parameter using the same indices.

 

See also:

Coefficienthttps://documentation.aimms.com/functionreference/algorithmic-capabilities/the-gmp-library/gmp_coefficient-procedures-and-functions/index.html

Rowhttps://documentation.aimms.com/functionreference/algorithmic-capabilities/the-gmp-library/gmp_row-procedures-and-functions/index.html

Columnhttps://documentation.aimms.com/functionreference/algorithmic-capabilities/the-gmp-library/gmp_column-procedures-and-functions/index.html

 

 

Hi Gertjan,

Interesting suggestions.

I see value in having the multi functions applicable where possible mainly for performance and flexibility reasons. 

We work a lot with GMP functions and do various matrix manipulations to speed up our optimization models especially in case of multiple runs or detailed model analysis. 
E.g. end-user version of a math program inspector to easily compare older version of models with new models after functionality updates and directly identify differences in matrix statistics.

 

A suggestion that could make my life even easier is if the multi functions do not necessarily require binding domains and constraints as input but also allow me to input a group/set of row numbers. For the individual get/set functions we can choose between either a row or a constraint as input but for the multi ones it seems that we cannot provide multiple row numbers as input.

 

 


Updated idea status NewDiscussion ongoing
DISCUSSION ONGOING → IMPLEMENTED
 
These functions were added some time ago, namely in AIMMS version 4.88.1.

Didn't find what you were looking for? Try searching on our documentation pages:

AIMMS Developer & PRO | AIMMS How-To | AIMMS SC Navigator