| APPFS
    Advanced practical programming for scientists | 
BIP Enumerator. More...
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>#include <assert.h>#include <stdbool.h>#include <time.h>#include <limits.h>#include <math.h>#include <errno.h>#include <float.h>#include <fenv.h>#include "mshell.h"#include "splitline.h"#include "bip_enum.h"Go to the source code of this file.
| Data Structures | |
| struct | binary_program | 
| Macros | |
| #define | BIP_MAX_COLS 32 | 
| #define | BIP_MAX_ROWS 32 | 
| #define | MAX_LINE_LEN 512 | 
| Maximum input line length.  More... | |
| #define | GET_SEC(a, b) ((b - a) / (double)CLOCKS_PER_SEC) | 
| Enumerations | |
| enum | LINE_MODE { READ_ERROR, READ_COLS, READ_ROWS, READ_COEF } | 
| enum | Sense { LE = 0, GE = 1, EQ = 2 } | 
| Functions | |
| static bool | bip_is_valid (const BIP *bip) | 
| Check whether BIP data structure is consistent.  More... | |
| void | bip_init () | 
| void | bip_free (BIP *bip) | 
| Deallocate BIP data structure.  More... | |
| static bool | bip_can_overflow (const BIP *bip) | 
| static LINE_MODE | process_line (LINE_MODE mode, const LFS *lfs, const int lines, BIP *bip) | 
| BIP * | bip_read (const char *filename) | 
| Read a bip file.  More... | |
| void | bip_print (const BIP *bip, FILE *fp) | 
| Print Binary Program from BIP.  More... | |
| static void | print_solu (FILE *fp, int vars, const double *x) | 
| Print solution vector.  More... | |
| static bool | bip_is_feasible (const BIP *bip, const double *x) | 
| Check whether a particular vector is a feasible solution to a BIP.  More... | |
| int | bip_enumerate (const BIP *bip, bool with_output) | 
| Enumerate all possible solution of a BIP.  More... | |
| Variables | |
| static Numb | max_coef_val | 
| static Numb | min_coef_val | 
| static bool | int_coef | 
Definition in file bip_enum.c.
| #define BIP_MAX_COLS 32 | 
Definition at line 37 of file bip_enum.c.
| #define BIP_MAX_ROWS 32 | 
Definition at line 38 of file bip_enum.c.
| #define GET_SEC | ( | a, | |
| b | |||
| ) | ((b - a) / (double)CLOCKS_PER_SEC) | 
Definition at line 57 of file bip_enum.c.
| #define MAX_LINE_LEN 512 | 
Definition at line 55 of file bip_enum.c.
| enum LINE_MODE | 
| Enumerator | |
|---|---|
| READ_ERROR | |
| READ_COLS | |
| READ_ROWS | |
| READ_COEF | |
Definition at line 40 of file bip_enum.c.
| enum Sense | 
| Enumerator | |
|---|---|
| LE | |
| GE | |
| EQ | |
Definition at line 42 of file bip_enum.c.
| 
 | static | 
Definition at line 142 of file bip_enum.c.
| int bip_enumerate | ( | const BIP * | bip, | 
| bool | with_output | ||
| ) | 
Prints all solutions.
Definition at line 439 of file bip_enum.c.
| void bip_free | ( | BIP * | bip | ) | 
Definition at line 133 of file bip_enum.c.
| void bip_init | ( | void | ) | 
Definition at line 91 of file bip_enum.c.
| 
 | static | 
Definition at line 394 of file bip_enum.c.
| 
 | static | 
Definition at line 66 of file bip_enum.c.
| void bip_print | ( | const BIP * | bip, | 
| FILE * | fp | ||
| ) | 
Definition at line 359 of file bip_enum.c.
| BIP* bip_read | ( | const char * | filename | ) | 
Format example:
4 # cols (variables) 3 # rows (constraints) 2 3 5 4 <= 8 3 6 0 8 <= 10 0 0 1 1 <= 1
comments (#) and empty lines are ignored.
| filename | name of file to read | 
Definition at line 296 of file bip_enum.c.
| 
 | static | 
| fp | file pointer to output to | 
| vars | number of variables | 
| x | ptr to solution vector | 
Definition at line 376 of file bip_enum.c.
| 
 | static | 
Definition at line 179 of file bip_enum.c.
| 
 | static | 
Definition at line 61 of file bip_enum.c.
| 
 | static | 
Definition at line 59 of file bip_enum.c.
| 
 | static | 
Definition at line 60 of file bip_enum.c.
 1.8.6
 1.8.6