Definido no ficheiro rlp.c.
Ir para o código fonte deste ficheiro.
Macros | |
| #define | POS(L, C, NC) ((L)*(NC)+(C)) |
| Dado a linha, a coluna e o número de colunas de um array de duas dimensões obtém o índice dessa posição assumindo que o array é de uma dimensão. | |
Funções | |
| static void | fmprint (double *matrix, int nrows, int ncols, FILE *file) |
| Imprime uma matriz associada a um problema de programação linear. | |
| static double | minimumc (double *matrix, int nrows, int ncols, int col, int *row) |
| Determina o menor valor de uma coluna de uma matriz. | |
| static double | minimumr (double *matrix, int ncols, int row, int *col) |
| Determina o menor valor de uma linha de uma matriz. | |
| int | simplex (double *a, int n, int m, FILE *file) |
| Aplica o Algoritmo Simplex a um problema de optimização (programação linear). | |
| int | simplexp (double *a, int n, int m, int pos, FILE *file) |
| Aplica o Algoritmo Simplex primal a um problema de programação linear. | |
| int | simplexd (double *a, int n, int m, int pos, FILE *file) |
| Aplica o Algoritmo Simplex dual a um problema de programação linear. | |
| static void fmprint | ( | double * | matrix, | |
| int | nrows, | |||
| int | ncols, | |||
| FILE * | file | |||
| ) | [static] |
Imprime uma matriz associada a um problema de programação linear.
A matriz é impressa no ficheiro file (que deverá ter sido previamente aberto).
| matrix | matriz que vamos imprimir. | |
| nrows | número de linhas. | |
| ncols | número de colunas. | |
| file | ficheiro onde a matriz será impressa. |
| static double minimumc | ( | double * | matrix, | |
| int | nrows, | |||
| int | ncols, | |||
| int | col, | |||
| int * | row | |||
| ) | [static] |
Determina o menor valor de uma coluna de uma matriz.
| matrix | matriz onde procuramos o valor. | |
| nrows | número de linhas da matriz. | |
| ncols | número de colunas da matriz. | |
| col | coluna onde vamos procurar. | |
| row | local onde é colocado o índice da linha em que o elemento ocorreu. |
| static double minimumr | ( | double * | matrix, | |
| int | ncols, | |||
| int | row, | |||
| int * | col | |||
| ) | [static] |
Determina o menor valor de uma linha de uma matriz.
| matrix | matriz onde procuramos o valor. | |
| ncols | número de colunas da matriz. | |
| row | linha onde vamos procurar. | |
| col | local onde é colocado o índice da coluna em que o elemento ocorreu. |
| int simplex | ( | double * | a, | |
| int | n, | |||
| int | m, | |||
| FILE * | file | |||
| ) |
Aplica o Algoritmo Simplex a um problema de optimização (programação linear).
Dado um problema de n variáveis (x1 , ... , xn ) e m condições (c1=b1 , ... , cm=bm ), a função deve receber uma matriz a de dimensão (m+1)*(n+m+2) contendo:
| a | matriz que representa o problema (conforme a descrição acima). | |
| n | número de variáveis da função objectivo. | |
| m | número de condições. | |
| file | ficheiro onde as tabelas serão impressas (ou NULL). |
| int simplexd | ( | double * | a, | |
| int | n, | |||
| int | m, | |||
| int | pos, | |||
| FILE * | file | |||
| ) |
Aplica o Algoritmo Simplex dual a um problema de programação linear.
A matriz de entrada (a) segue o formato da matriz de entrada da função simplex.
Permite definir um ficheiro onde são colocadas as várias tabelas resultantes da aplicação do algoritmo (através da variável file).
| a | matriz que representa o problema. | |
| n | número de variáveis da função objectivo. | |
| m | número de condições. | |
| pos | posição em que se encontra o menor valor da primeira linha (sendo que o menor valor terá que ser obrigatoriamente negativo). | |
| file | ficheiro onde as tabelas serão impressas (ou NULL). |
| int simplexp | ( | double * | a, | |
| int | n, | |||
| int | m, | |||
| int | pos, | |||
| FILE * | file | |||
| ) |
Aplica o Algoritmo Simplex primal a um problema de programação linear.
A matriz de entrada (a) segue o formato da matriz de entrada da função simplex.
Permite definir um ficheiro onde são colocadas as várias tabelas resultantes da aplicação do algoritmo (através da variável file).
| a | matriz que representa o problema. | |
| n | número de variáveis da função objectivo. | |
| m | número de condições. | |
| pos | posição em que se encontra o menor valor da última coluna das restrições (sendo que o menor valor terá que ser obrigatoriamente negativo). | |
| file | ficheiro onde as tabelas serão impressas (ou NULL). |