DyLP  1.10.4
Classes | Macros | Enumerations | Functions
dylp.h File Reference
#include "dylib_errs.h"
#include "dylib_io.h"
#include "dy_consys.h"
+ Include dependency graph for dylp.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  basisel_struct
 
struct  basis_struct
 
struct  lpprob_struct
 
struct  lptols_struct
 
struct  lpopts_struct
 
struct  lpstats_struct
 

Macros

#define ladPRIMFEAS   1<<0
 
#define ladPRIMALCHK   1<<1
 
#define ladPFQUIET   1<<2
 
#define ladDUALFEAS   1<<3
 
#define ladDUALCHK   1<<4
 
#define ladDFQUIET   1<<5
 
#define ladDUALS   1<<6
 
#define ladPRIMALS   1<<7
 
#define ladFACTOR   1<<8
 
#define ladEXPAND   1<<9
 
#define vstatINV   0
 
#define vstatBFX   1<<0
 
#define vstatBUB   1<<1
 
#define vstatB   1<<2
 
#define vstatBLB   1<<3
 
#define vstatBFR   1<<4
 
#define vstatNBFX   1<<5
 
#define vstatNBUB   1<<6
 
#define vstatNBLB   1<<7
 
#define vstatNBFR   1<<8
 
#define vstatSB   1<<9
 
#define vstatBUUB   1<<10
 
#define vstatBLLB   1<<11
 
#define vstatNOPIVOT   ((flags) 1<<(sizeof(flags)*8-2))
 
#define vstatNOPER   ((flags) 1<<(sizeof(flags)*8-3))
 
#define vstatNOLOAD   ((flags) 1<<(sizeof(flags)*8-4))
 
#define vstatBASIC   (vstatBFX|vstatBUUB|vstatBUB|vstatB|vstatBLB|vstatBLLB|vstatBFR)
 
#define vstatNONBASIC   (vstatNBFX|vstatNBUB|vstatNBLB)
 
#define vstatEXOTIC   (vstatSB|vstatNBFR)
 
#define vstatSTATUS   (vstatBASIC|vstatNONBASIC|vstatEXOTIC)
 
#define vstatQUALS   (vstatNOPIVOT|vstatNOPER|vstatNOLOAD)
 
#define VALID_STATUS(zz_status_zz)
 
#define lpctlNOFREE   1<<0
 
#define lpctlONLYFREE   1<<1
 
#define lpctlUBNDCHG   1<<2
 
#define lpctlLBNDCHG   1<<3
 
#define lpctlRHSCHG   1<<4
 
#define lpctlOBJCHG   1<<5
 
#define lpctlACTVARSIN   1<<6
 
#define lpctlINITACTVAR   1<<7
 
#define lpctlINITACTCON   1<<8
 
#define lpctlACTVARSOUT   1<<10
 
#define lpctlDYVALID   1<<11
 
#define DYSTATS_MAXDEGEN   25
 
#define DYSTATS_HISTBINS   37
 

Enumerations

enum  lpret_enum {
  lpFATAL = -1, lpINV = 0, lpOPTIMAL, lpUNBOUNDED,
  lpSWING, lpINFEAS, lpACCCHK, lpSTALLED,
  lpITERLIM, lpNOSPACE, lpLOSTFEAS, lpPUNT,
  lpFORCEDUAL, lpFORCEPRIMAL, lpFORCEFULL
}
 
enum  dyphase_enum {
  dyINV = 0, dyINIT, dyPRIMAL1, dyPRIMAL2,
  dyDUAL, dyPURGEVAR, dyGENVAR, dyADDVAR,
  dyPURGECON, dyGENCON, dyADDCON, dyFORCEDUAL,
  dyFORCEPRIMAL, dyFORCEFULL, dyDONE
}
 
enum  dyret_enum {
  dyrFATAL = -10, dyrITERLIM, dyrSTALLED, dyrBSPACE = -7,
  dyrSINGULAR = -6, dyrNUMERIC = -5, dyrLOSTPFEAS, dyrLOSTDFEAS,
  dyrDEGEN, dyrMADPIV, dyrINV = 0, dyrOK = 1,
  dyrPATCHED = 2, dyrRESELECT, dyrREQCHK, dyrACCCHK,
  dyrPUNT, dyrOPTIMAL, dyrUNBOUND, dyrSWING,
  dyrINFEAS
}
 
enum  ibtype_enum { ibINV = 0, ibLOGICAL, ibSLACK, ibARCH }
 
enum  cxtype_enum {
  cxINV = 0, cxLOAD, cxUNLOAD, cxSINGLELP,
  cxINITIALLP, cxBANDC, cxUSERPIV
}
 

Functions

void dy_defaults (lpopts_struct **opts, lptols_struct **tols)
 
void dy_checkdefaults (consys_struct *sys, lpopts_struct *opts, lptols_struct *tols)
 
void dy_setprintopts (int lvl, lpopts_struct *opts)
 
lpret_enum dylp (lpprob_struct *orig_lp, lpopts_struct *orig_opts, lptols_struct *orig_tols, lpstats_struct *orig_stats)
 
void * dy_getOwner ()
 
bool dy_dupbasis (int dst_basissze, basis_struct **p_dst_basis, basis_struct *src_basis, int dst_statussze, flags **p_dst_status, int src_statuslen, flags *src_status)
 
void dy_freesoln (lpprob_struct *lpprob)
 
bool dy_pricenbvars (lpprob_struct *orig_lp, flags priceme, double **p_ocbar, int *p_nbcnt, int **p_nbvars)
 
bool dy_pricedualpiv (lpprob_struct *orig_lp, int oxindx, double nubi, double xi, double nlbi, int nbcnt, int *nbvars, double *cbar, double *p_upeni, double *p_dpeni)
 
bool dy_abarj (lpprob_struct *orig_lp, int tgt_j, double **p_abarj)
 
bool dy_betaj (lpprob_struct *orig_lp, int tgt_j, double **p_betaj)
 
bool dy_betak (lpprob_struct *orig_lp, int col_k, double **p_betaj)
 
bool dy_betai (lpprob_struct *orig_lp, int tgt_i, double **p_betai)
 
bool dy_abari (lpprob_struct *orig_lp, int tgt_i, double **p_abari, double **p_betai)
 
bool dy_primalRays (lpprob_struct *orig_lp, int *p_numRays, double ***p_rays)
 
bool dy_dualRays (lpprob_struct *orig_lp, bool fullRay, int *p_numRays, double ***p_rays, bool trueDuals)
 
void dy_colDuals (lpprob_struct *orig_lp, double **p_cbar, bool trueDuals)
 
void dy_rowDuals (lpprob_struct *orig_lp, double **p_y, bool trueDuals)
 
void dy_rowDualsGivenC (lpprob_struct *orig_lp, double **p_y, const double *c, bool trueDuals)
 
void dy_colPrimals (lpprob_struct *orig_lp, double **p_x)
 
void dy_rowPrimals (lpprob_struct *orig_lp, double **p_xB, int **p_indB)
 
void dy_logPrimals (lpprob_struct *orig_lp, double **p_logx)
 
void dy_colStatus (lpprob_struct *orig_lp, flags **p_colstat)
 
void dy_logStatus (lpprob_struct *orig_lp, flags **p_logstat)
 
bool dy_expandxopt (lpprob_struct *lp, double **p_xopt)
 
const char * dy_prtlpret (lpret_enum lpret)
 
const char * dy_prtlpphase (dyphase_enum phase, bool abbrv)
 
char * dy_prtvstat (flags status)
 
bool dy_dumpcompact (ioid chn, bool echo, lpprob_struct *soln, bool nbzeros)
 
void dy_setlogchn (ioid chn)
 
void dy_setgtxecho (bool echo)
 
void dy_initstats (lpstats_struct **p_lpstats, consys_struct *orig_sys)
 
void dy_dumpstats (ioid chn, bool echo, lpstats_struct *lpstats, consys_struct *orig_sys)
 
void dy_freestats (lpstats_struct **p_lpstats)
 

Macro Definition Documentation

◆ ladPRIMFEAS

#define ladPRIMFEAS   1<<0

Definition at line 317 of file dylp.h.

◆ ladPRIMALCHK

#define ladPRIMALCHK   1<<1

Definition at line 318 of file dylp.h.

◆ ladPFQUIET

#define ladPFQUIET   1<<2

Definition at line 319 of file dylp.h.

◆ ladDUALFEAS

#define ladDUALFEAS   1<<3

Definition at line 320 of file dylp.h.

◆ ladDUALCHK

#define ladDUALCHK   1<<4

Definition at line 321 of file dylp.h.

◆ ladDFQUIET

#define ladDFQUIET   1<<5

Definition at line 322 of file dylp.h.

◆ ladDUALS

#define ladDUALS   1<<6

Definition at line 323 of file dylp.h.

◆ ladPRIMALS

#define ladPRIMALS   1<<7

Definition at line 324 of file dylp.h.

◆ ladFACTOR

#define ladFACTOR   1<<8

Definition at line 325 of file dylp.h.

◆ ladEXPAND

#define ladEXPAND   1<<9

Definition at line 326 of file dylp.h.

◆ vstatINV

#define vstatINV   0

Definition at line 377 of file dylp.h.

◆ vstatBFX

#define vstatBFX   1<<0

Definition at line 378 of file dylp.h.

◆ vstatBUB

#define vstatBUB   1<<1

Definition at line 379 of file dylp.h.

◆ vstatB

#define vstatB   1<<2

Definition at line 380 of file dylp.h.

◆ vstatBLB

#define vstatBLB   1<<3

Definition at line 381 of file dylp.h.

◆ vstatBFR

#define vstatBFR   1<<4

Definition at line 382 of file dylp.h.

◆ vstatNBFX

#define vstatNBFX   1<<5

Definition at line 383 of file dylp.h.

◆ vstatNBUB

#define vstatNBUB   1<<6

Definition at line 384 of file dylp.h.

◆ vstatNBLB

#define vstatNBLB   1<<7

Definition at line 385 of file dylp.h.

◆ vstatNBFR

#define vstatNBFR   1<<8

Definition at line 386 of file dylp.h.

◆ vstatSB

#define vstatSB   1<<9

Definition at line 387 of file dylp.h.

◆ vstatBUUB

#define vstatBUUB   1<<10

Definition at line 388 of file dylp.h.

◆ vstatBLLB

#define vstatBLLB   1<<11

Definition at line 389 of file dylp.h.

◆ vstatNOPIVOT

#define vstatNOPIVOT   ((flags) 1<<(sizeof(flags)*8-2))

Definition at line 396 of file dylp.h.

◆ vstatNOPER

#define vstatNOPER   ((flags) 1<<(sizeof(flags)*8-3))

Definition at line 397 of file dylp.h.

◆ vstatNOLOAD

#define vstatNOLOAD   ((flags) 1<<(sizeof(flags)*8-4))

Definition at line 398 of file dylp.h.

◆ vstatBASIC

Definition at line 400 of file dylp.h.

◆ vstatNONBASIC

#define vstatNONBASIC   (vstatNBFX|vstatNBUB|vstatNBLB)

Definition at line 402 of file dylp.h.

◆ vstatEXOTIC

#define vstatEXOTIC   (vstatSB|vstatNBFR)

Definition at line 403 of file dylp.h.

◆ vstatSTATUS

#define vstatSTATUS   (vstatBASIC|vstatNONBASIC|vstatEXOTIC)

Definition at line 405 of file dylp.h.

◆ vstatQUALS

#define vstatQUALS   (vstatNOPIVOT|vstatNOPER|vstatNOLOAD)

Definition at line 406 of file dylp.h.

◆ VALID_STATUS

#define VALID_STATUS (   zz_status_zz)
Value:
(zz_status_zz == vstatBFX || zz_status_zz == vstatBUB || \
zz_status_zz == vstatB || zz_status_zz == vstatBLB || \
zz_status_zz == vstatBFR || \
zz_status_zz == vstatNBFX || zz_status_zz == vstatNBUB || \
zz_status_zz == vstatNBLB || zz_status_zz == vstatNBFR || \
zz_status_zz == vstatSB)
#define vstatSB
Definition: dylp.h:387
#define vstatBFX
Definition: dylp.h:378
#define vstatNBFX
Definition: dylp.h:383
#define vstatBLB
Definition: dylp.h:381
#define vstatNBLB
Definition: dylp.h:385
#define vstatNBUB
Definition: dylp.h:384
#define vstatBFR
Definition: dylp.h:382
#define vstatB
Definition: dylp.h:380
#define vstatBUB
Definition: dylp.h:379
#define vstatNBFR
Definition: dylp.h:386

Definition at line 414 of file dylp.h.

◆ lpctlNOFREE

#define lpctlNOFREE   1<<0

Definition at line 495 of file dylp.h.

◆ lpctlONLYFREE

#define lpctlONLYFREE   1<<1

Definition at line 496 of file dylp.h.

◆ lpctlUBNDCHG

#define lpctlUBNDCHG   1<<2

Definition at line 497 of file dylp.h.

◆ lpctlLBNDCHG

#define lpctlLBNDCHG   1<<3

Definition at line 498 of file dylp.h.

◆ lpctlRHSCHG

#define lpctlRHSCHG   1<<4

Definition at line 499 of file dylp.h.

◆ lpctlOBJCHG

#define lpctlOBJCHG   1<<5

Definition at line 500 of file dylp.h.

◆ lpctlACTVARSIN

#define lpctlACTVARSIN   1<<6

Definition at line 501 of file dylp.h.

◆ lpctlINITACTVAR

#define lpctlINITACTVAR   1<<7

Definition at line 502 of file dylp.h.

◆ lpctlINITACTCON

#define lpctlINITACTCON   1<<8

Definition at line 503 of file dylp.h.

◆ lpctlACTVARSOUT

#define lpctlACTVARSOUT   1<<10

Definition at line 505 of file dylp.h.

◆ lpctlDYVALID

#define lpctlDYVALID   1<<11

Definition at line 507 of file dylp.h.

◆ DYSTATS_MAXDEGEN

#define DYSTATS_MAXDEGEN   25

Definition at line 1300 of file dylp.h.

◆ DYSTATS_HISTBINS

#define DYSTATS_HISTBINS   37

Definition at line 1301 of file dylp.h.

Enumeration Type Documentation

◆ lpret_enum

enum lpret_enum
Enumerator
lpFATAL 
lpINV 
lpOPTIMAL 
lpUNBOUNDED 
lpSWING 
lpINFEAS 
lpACCCHK 
lpSTALLED 
lpITERLIM 
lpNOSPACE 
lpLOSTFEAS 
lpPUNT 
lpFORCEDUAL 
lpFORCEPRIMAL 
lpFORCEFULL 

Definition at line 170 of file dylp.h.

◆ dyphase_enum

Enumerator
dyINV 
dyINIT 
dyPRIMAL1 
dyPRIMAL2 
dyDUAL 
dyPURGEVAR 
dyGENVAR 
dyADDVAR 
dyPURGECON 
dyGENCON 
dyADDCON 
dyFORCEDUAL 
dyFORCEPRIMAL 
dyFORCEFULL 
dyDONE 

Definition at line 212 of file dylp.h.

◆ dyret_enum

enum dyret_enum
Enumerator
dyrFATAL 
dyrITERLIM 
dyrSTALLED 
dyrBSPACE 
dyrSINGULAR 
dyrNUMERIC 
dyrLOSTPFEAS 
dyrLOSTDFEAS 
dyrDEGEN 
dyrMADPIV 
dyrINV 
dyrOK 
dyrPATCHED 
dyrRESELECT 
dyrREQCHK 
dyrACCCHK 
dyrPUNT 
dyrOPTIMAL 
dyrUNBOUND 
dyrSWING 
dyrINFEAS 

Definition at line 274 of file dylp.h.

◆ ibtype_enum

Enumerator
ibINV 
ibLOGICAL 
ibSLACK 
ibARCH 

Definition at line 766 of file dylp.h.

◆ cxtype_enum

Enumerator
cxINV 
cxLOAD 
cxUNLOAD 
cxSINGLELP 
cxINITIALLP 
cxBANDC 
cxUSERPIV 

Definition at line 788 of file dylp.h.

Function Documentation

◆ dy_defaults()

void dy_defaults ( lpopts_struct **  opts,
lptols_struct **  tols 
)

◆ dy_checkdefaults()

void dy_checkdefaults ( consys_struct sys,
lpopts_struct opts,
lptols_struct tols 
)

◆ dy_setprintopts()

void dy_setprintopts ( int  lvl,
lpopts_struct opts 
)

◆ dylp()

lpret_enum dylp ( lpprob_struct orig_lp,
lpopts_struct orig_opts,
lptols_struct orig_tols,
lpstats_struct orig_stats 
)

◆ dy_getOwner()

void* dy_getOwner ( )

◆ dy_dupbasis()

bool dy_dupbasis ( int  dst_basissze,
basis_struct **  p_dst_basis,
basis_struct src_basis,
int  dst_statussze,
flags **  p_dst_status,
int  src_statuslen,
flags src_status 
)

◆ dy_freesoln()

void dy_freesoln ( lpprob_struct lpprob)

◆ dy_pricenbvars()

bool dy_pricenbvars ( lpprob_struct orig_lp,
flags  priceme,
double **  p_ocbar,
int *  p_nbcnt,
int **  p_nbvars 
)

◆ dy_pricedualpiv()

bool dy_pricedualpiv ( lpprob_struct orig_lp,
int  oxindx,
double  nubi,
double  xi,
double  nlbi,
int  nbcnt,
int *  nbvars,
double *  cbar,
double *  p_upeni,
double *  p_dpeni 
)

◆ dy_abarj()

bool dy_abarj ( lpprob_struct orig_lp,
int  tgt_j,
double **  p_abarj 
)

◆ dy_betaj()

bool dy_betaj ( lpprob_struct orig_lp,
int  tgt_j,
double **  p_betaj 
)

◆ dy_betak()

bool dy_betak ( lpprob_struct orig_lp,
int  col_k,
double **  p_betaj 
)

◆ dy_betai()

bool dy_betai ( lpprob_struct orig_lp,
int  tgt_i,
double **  p_betai 
)

◆ dy_abari()

bool dy_abari ( lpprob_struct orig_lp,
int  tgt_i,
double **  p_abari,
double **  p_betai 
)

◆ dy_primalRays()

bool dy_primalRays ( lpprob_struct orig_lp,
int *  p_numRays,
double ***  p_rays 
)

◆ dy_dualRays()

bool dy_dualRays ( lpprob_struct orig_lp,
bool  fullRay,
int *  p_numRays,
double ***  p_rays,
bool  trueDuals 
)

◆ dy_colDuals()

void dy_colDuals ( lpprob_struct orig_lp,
double **  p_cbar,
bool  trueDuals 
)

◆ dy_rowDuals()

void dy_rowDuals ( lpprob_struct orig_lp,
double **  p_y,
bool  trueDuals 
)

◆ dy_rowDualsGivenC()

void dy_rowDualsGivenC ( lpprob_struct orig_lp,
double **  p_y,
const double *  c,
bool  trueDuals 
)

◆ dy_colPrimals()

void dy_colPrimals ( lpprob_struct orig_lp,
double **  p_x 
)

◆ dy_rowPrimals()

void dy_rowPrimals ( lpprob_struct orig_lp,
double **  p_xB,
int **  p_indB 
)

◆ dy_logPrimals()

void dy_logPrimals ( lpprob_struct orig_lp,
double **  p_logx 
)

◆ dy_colStatus()

void dy_colStatus ( lpprob_struct orig_lp,
flags **  p_colstat 
)

◆ dy_logStatus()

void dy_logStatus ( lpprob_struct orig_lp,
flags **  p_logstat 
)

◆ dy_expandxopt()

bool dy_expandxopt ( lpprob_struct lp,
double **  p_xopt 
)

◆ dy_prtlpret()

const char* dy_prtlpret ( lpret_enum  lpret)

◆ dy_prtlpphase()

const char * dy_prtlpphase ( dyphase_enum  phase,
bool  abbrv 
)

◆ dy_prtvstat()

char* dy_prtvstat ( flags  status)

◆ dy_dumpcompact()

bool dy_dumpcompact ( ioid  chn,
bool  echo,
lpprob_struct soln,
bool  nbzeros 
)

◆ dy_setlogchn()

void dy_setlogchn ( ioid  chn)

◆ dy_setgtxecho()

void dy_setgtxecho ( bool  echo)

◆ dy_initstats()

void dy_initstats ( lpstats_struct **  p_lpstats,
consys_struct orig_sys 
)

◆ dy_dumpstats()

void dy_dumpstats ( ioid  chn,
bool  echo,
lpstats_struct lpstats,
consys_struct orig_sys 
)

◆ dy_freestats()

void dy_freestats ( lpstats_struct **  p_lpstats)