Download BiqCrunch User's Guide

Transcript
<COMMENT>
..
.
<COMMENT>
<#CONSTRAINTS> =number o f c o n s t r a i n t s
<#BLOCKS> =b l o c k s o f th e m a t r i c e s
<SIZE>
<RIGHT−HAND_SIDE>
<#MATRIX> <BLOCK> <ROW_INDEX> <COLUMN_INDEX> <VALUE>
..
.
<#MATRIX> <BLOCK> <ROW_INDEX> <COLUMN_INDEX> <VALUE>
Code 1.1: Generic structure of a BC instance
1.2.1 Instance syntax
A BC file begins with some optional lines of comments, which are strings preceded by a
semicolon or by a asterisk:
<COMMENT> ::= ; <STRING> | * <STRING>
The first line after the comments defines the number of constraints in our model, which
is a integer non-negative number that can be followed by other characters ignored by the
reader
<#CONSTRAINTS> ::= <INT> | <INT> <STRING>
and such that <INT>= mE + mI .
As we keep the syntax of the SDPA files, we define the number of blocks of the matrices
of the input file. As seen before, also this line admit characters after the definition.
<#BLOCKS> ::= <INT> | <INT> <STRING>
In the BC an instance can have 1 or 2 blocks depending on the model: if the model
contains no constraints or just equality constraints, <INT> must be equal to 1; if the
model contains also inequality constraints <INT> must be equal to 2.
The third entry of the instance describes the size of the blocks of the matrices
<SIZE> ::= <INT_1>
| {<INT_1>}
|
<INT_1>, -<INT_2> | {<INT_1>, -<INT_2>}
If we describe a problem without inequalities, we have only to provide the size of the
first block of the matrices (<INT_1>), which is equal to n + 1. If the problem contains
inequalities we have to define also the size of the second block (<INT_2>), which starts
always with a minus before its size, to explicit that the values of the blocks are only on
the diagonal of the matrix (since they correspond to slack variables), and that must be
equal to mI .
In the next line we have to define the right-hand side values of the constraints which
is a sequence of values
BiqCrunch - User’s Guide v1.0
5