What's New in GAMS 23.5.1? An Overview of the Features and Improvements of the General Algebraic Modeling System
Kameleon is an IBE developed at the University of Alberta (see Jari Arkko & John Jones, Kameleon: Identity-Based Encryption with Efficient Signature Generation (Non-USENIX Security Symposium)). The Chameleon IBE scheme is based on the Chameleon Pairing function (see The Chameleon Encryption Project (Adem et al). The Chameleon and Chameleon-like IBE systems can be used to provide sufficiently secure encryption with public key algorithms based on the RSA and other system keys (e.g., DSA, ECC). One version of Kameleon can be considered to be a more efficient version of the Chameleon scheme and has been ported to GAMS 23.5.
GAMS 23.5.1 (General Algebraic Modeling System, 32bit)
Numerical approximation of complex algebraic functions was relatively simple in the days of the original Simplex, but so much has changed in the past few decades that were capable of handling it: Special functions handling; a unifying framework and coding scheme for representing all kinds of algebraic variables; new families of exact polynomial-free solvers; new methods for treating nonlinear constraints; and, best of all, end-to-end tools like GAMS.
In fact, numerical integration is so easy, robust, and well-understood in GAMS, it gives us the opportunity to really push the boundaries of numerical computing. For example, some experimental work from the lab has shown that we can do robust numerical integration on models with thousands of algebraic variables and even with inequalities via what are called polynomial sketches that closely approximate splitting algorithms. (See my recent research note.)
Sometimes, we need some heuristic ideas about a solution, so weve built a set of functions for building and handling these ideas. Our shorthand for building heuristics is named MINLP (minimization of a nonlinear problem, e.g. a nonlinear programming problem). In general, the MINLP function in GAMS is intended for use in an iteration loop where the current heuristic is a (typically nonlinear) function of the current solution. As an example, once youve set the heuristic to a MINLP function, you can say