# The Standard Output Listing

The `.lis`

extension

AIMMS produces a standard output listing file for each run of a
procedure and each solution of a mathematical program. The name of this
listing is the base name of the model file with the extension
`.lis`

. The listing is optionally generated during the first
execution in a session and, depending on the option settings, can also
be generated during subsequent execution-after updates to parameters and
variables.

Contents of a listing file

A standard output listing file can contain one or more of the following items:

a

*source listing*-the source code as compiled,a

*constraint listing*-a printout of the generated individual constraints of a mathematical program,a

*solution listing*-the solution values for its variables and constraints,a

*solver status file*-a progress report on the solution process, andany

*undirected text output*produced from`PUT`

or`DISPLAY`

statements.

Output activated via options

By default, the standard output listing will be empty unless you set options that activate AIMMS to print one or more of the items in the list above. By not setting options, you avoid the creation of lengthy output files every time you run a model. In addition, you speed up the solution process by avoiding unnecessary overhead.

Examining the solution process

Whenever you want to inspect the model at the individual constraint level, or want to examine the performance of the solver in some detail, then a listing file is your ultimate source of information. The required options for the production of this file can be set from within the model text or from within the graphical interface of AIMMS. They are retained with your project. For more specific information on each of the available options, please consult the AIMMS help file.

Example

After setting the option `constraint_listing`

to 1, AIMMS produces the
following standard listing for the transport model used throughout this
manual. The model uses a small example data set containing just a few
Dutch cities. A detailed explanation of the listing format is given at
the end.

The constraint listing

```
This is the first constraint listing of TransportModel.
---- MeetDemand
MeetDemand('Amsterdam') .. [ 1 | 1 | after ]
+ 1 * Transport('Amsterdam' ,'Amsterdam' ) + 1 * Transport('Rotterdam' ,'Amsterdam' )
>= 5.88 ; (lhs=5.88)
MeetDemand('Rotterdam') .. [ 1 | 2 | after ]
+ 1 * Transport('Amsterdam' ,'Rotterdam' ) + 1 * Transport('Rotterdam' ,'Rotterdam' )
>= 12.4 ; (lhs=12.4)
MeetDemand('Den Haag') .. [ 1 | 3 | after ]
+ 1 * Transport('Amsterdam' ,'Den Haag' ) + 1 * Transport('Rotterdam' ,'Den Haag' )
>= 12.8 ; (lhs=12.8)
---- MeetSupply
MeetSupply('Amsterdam') .. [ 1 | 4 | after ]
+ 1 * Transport('Amsterdam' ,'Amsterdam' ) + 1 * Transport('Amsterdam' ,'Rotterdam' )
+ 1 * Transport('Amsterdam' ,'Den Haag' )
<= 16 ; (lhs=15.1)
MeetSupply('Rotterdam') .. [ 1 | 5 | after ]
+ 1 * Transport('Rotterdam' ,'Amsterdam' ) + 1 * Transport('Rotterdam' ,'Rotterdam' )
+ 1 * Transport('Rotterdam' ,'Den Haag' )
<= 16 ; (lhs=16)
---- TotalCost_definition
TotalCost_definition .. [ 1 | 6 | after ]
+ 1 * TotalCost
- 3.34 * Transport('Amsterdam','Amsterdam') - 11.7 * Transport('Amsterdam','Rotterdam')
- 13 * Transport('Amsterdam','Den Haag' ) - 9 * Transport('Rotterdam','Amsterdam')
- 2 * Transport('Rotterdam','Rotterdam') - 3 * Transport('Rotterdam','Den Haag' )
= 0 ; (lhs=0)
```

Explanation

The above listing contains all the individual constraints generated by
AIMMS on the basis of the model formulation and the particular data set
loaded at the time of the `SOLVE`

statement. Each individual
constraint name is followed by three entries within square brackets.

The first entry represents the number of times that a

`SOLVE`

statement has been executed.The second entry is a consecutive number assigned to each individual constraint being printed.

The third entry indicates when the constraint listing is generated (either “before” or “after” a

`SOLVE`

statement has been executed).

Bracketed at the end of each constraint is the value of the left-hand
side. You can compare this with the right-hand side to evaluate the
status of the constraint. By setting the option
`constraint_variable_values`

to 1 you get a more extensive listing
that also includes the values and bounds of the variables that are
included in each constraint.

Solution listing

The following solution listing results from setting the option
`solution_listing`

to 1. Note that the listing includes values for
each of the suffices attached to variables and constraints. The
`status`

column for variables indicates whether or not the variable is
basic, frozen, at bound, or bound exceeded. Similarly, the status column
for constraints indicates the same basis and bound information as for
variables.

Example solution listing

```
This is the first solution report of TransportModel after a solve.
The 1 scalar variable:
Name Lower level Upper ReducedCost Status
--------- ----- ------- ----- ----------- ------
TotalCost -inf 172.079 inf 0 Basic
The variable "Transport(i,j)" contains the following 6 columns:
i j Lower level Upper ReducedCost Status
---------- ---------- ----- ------ ----- ----------- ------
Amsterdam Amsterdam 0 5.880 inf 0.000 Basic
Amsterdam Rotterdam 0 9.200 inf 0.000 Basic
Amsterdam 'Den Haag' 0 0.000 inf 0.300 At bound
Rotterdam Amsterdam 0 0.000 inf 15.360 At bound
Rotterdam Rotterdam 0 3.200 inf 0.000 Basic
Rotterdam 'Den Haag' 0 12.800 inf 0.000 Basic
The 1 scalar constraint:
Name ShadowPrice Status
-------------------- ----------- ------
TotalCost_definition 0
The constraint "MeetDemand(j)" contains the following 3 rows:
j Lower level Upper ShadowPrice Status
---------- ------ ------ ----- ----------- ------
Amsterdam 5.880 5.880 inf 3.340 At bound
Rotterdam 12.400 12.400 inf 11.700 At bound
'Den Haag' 12.800 12.800 inf 12.700 At bound
The constraint "MeetSupply(i)" contains the following 2 rows:
i Lower level Upper ShadowPrice Status
---------- ----- ------ ----- ----------- ------
Amsterdam -inf 15.080 16 0.000 Basic
Rotterdam -inf 16.000 16 -9.700 At bound
```