suivant: Le plus beau métier
monter: Corrigés des programmes
précédent: Knapsack par recherche exhaustive
Table des matières
introGLPK.c
#include<stdio.h>
#include"glpk.h"
int main()
{
LPX* lp = lpx_create_prob();
double coeffs[10];
int cols[10], rows[10];
int k = 1;
lpx_set_obj_dir(lp, LPX_MAX);
lpx_add_cols(lp, 3);
lpx_set_obj_coef(lp, 1, 4);
lpx_set_obj_coef(lp, 2, 6);
lpx_set_obj_coef(lp, 3, 2);
lpx_set_col_bnds(lp, 1, LPX_LO, 0.0, 0.0);
lpx_set_col_bnds(lp, 2, LPX_LO, 0.0, 0.0);
lpx_set_col_bnds(lp, 3, LPX_LO, 0.0, 0.0);
lpx_add_rows(lp, 3);
lpx_set_row_bnds(lp, 1, LPX_UP, 0.0, 12.);
lpx_set_row_bnds(lp, 2, LPX_UP, 0.0, 3.);
lpx_set_row_bnds(lp, 3, LPX_UP, 0.0, 6.);
coeffs[k] = 3.; rows[k] = 1; cols[k] = 1; k++;
coeffs[k] = 7.; rows[k] = 1; cols[k] = 2; k++;
coeffs[k] = 1.; rows[k] = 1; cols[k] = 3; k++;
coeffs[k] = 0.6; rows[k] = 2; cols[k] = 1; k++;
coeffs[k] = 3; rows[k] = 2; cols[k] = 2; k++;
coeffs[k] = 2.8; rows[k] = 2; cols[k] = 3; k++;
coeffs[k] = 9.; rows[k] = 3; cols[k] = 1; k++;
coeffs[k] = 0.08; rows[k] = 3; cols[k] = 2; k++;
coeffs[k] = 5.; rows[k] = 3; cols[k] = 3; k++;
lpx_load_matrix(lp, 9, rows, cols, coeffs);
lpx_simplex(lp);
printf("fonction obectif = %lf\n", lpx_get_obj_val(lp));
for(k = 1 ; k <= 3 ; k++)
printf("x_%d = %lf\n", k, lpx_get_col_prim(lp, k));
lpx_delete_prob(lp);
return 0;
}
suivant: Le plus beau métier
monter: Corrigés des programmes
précédent: Knapsack par recherche exhaustive
Table des matières
klaus
2010-08-05