使用期限永久
许可形式单机和网络版
原产地美国
介质下载
适用平台windows,linux
科学软件网销售软件达17年,有丰富的销售经验以及客户资源,提供的产品涵盖各个学科,包括经管,仿真,地球地理,生物化学,工程科学,排版及网络管理等。此外,我们还提供很多附加服务,如:现场培训、课程、解决方案、咨询服务等。
GAMS was developed to improve on this situation by:
• Providing a high-level language for the compact representation of large and complex models
• Allowing changes to be made in model specifications simply and safely
• Allowing unambiguous statements of algebraic relationships
• Permitting model descriptions that are independent of solution algorithms
2 Basic Features of GAMS
2.1 General Principles
The design of GAMS has incorporated ideas drawn from relational database theory and mathematical programming and
has attempted to merge these ideas to suit the needs of strategic modelers. Relational database theory provides a structured
framework for developing general data organization and transformation capabilities. Mathematical programming provides a
way of describing a problem and a variety of methods for solving it. The following principles were used in designing the
system:
1. All existing algorithmic methods should be available without changing the user's model representation. Introduction of
new methods, or of new implementations of existing methods, should be possible without requiring changes in existing
models. Linear, nonlinear, mixed integer, mixed integer nonlinear optimizations and mixed complementarity problems
can currently be accommodated.
2. The optimization problem should be expressible independently of the data it uses. This separation of logic and data
allows a problem to be increased in size without causing an increase in the complexity of the representation.
c('Seattle','New-York') = 0.40;
is a valid GAMS assignment statement.
The same parameter can be assigned a value more than once. Each assignment statement takes effect immediately and
overrides any previous values. (In contrast, the same parameter may not be declared more than once. This is a GAMS error
check to keep you from accidentally using the same name for two different things.)
The right-hand side of an assignment statement can contain a great variety of mathematical expressions and built-in functions.
If you are familiar with a scientific programming language such as FORTRAN or C, you will have no trouble in becoming
14 A GAMS Tutorial by Richard E. Rosenthal
comfortable writing assignment statements in GAMS. (Notice, however, that GAMS has some efficiencies shared by neither
FORTRAN nor C. For example, we were able to assign c(i,j) values for all (i,j) pairs without constructing 'do loops'.)
The GAMS standard operations and supplied functions are given later. Here are some examples of valid assignments. In all
cases, assume the left-hand-side parameter has already been declared and the right-hand-side parameters have already been
assigned values in previous statements
This architecture provides great flexibility, by allowing changing the solvers used without changing the model formulation.
Note that set elements are stored as character strings, so the elements of t are not numbers.
Another convenient feature is the alias statement, which is used to give another name to a previously declared set. In the
following example:
Alias (t,tp);
the name tp is like a t0 in mathematical notation. It is useful in models that are concerned with the interactions of elements
within the same set.
The sets i, j, t, and m in the statements above are examples of static sets, i.e., they are assigned their members directly by the
user and do not change. GAMS has several capabilities for creating dynamic sets, which acquire their members through the
execution of set-theoretic and logical operations. Dynamic sets are discussed in Chapter Dynamic Sets. Another valuable
advanced feature is multidimensional sets, which are discussed in Section Multi-dimensional Sets.
19年来,公司始终秉承、专注、专心的发展理念,厚积薄发,积累了大量的人才、技术以及行业经验,在行业内得到了大量用户的认可和高度价。
http://www.kxrjsoft.com.cn