INNER CODE UNIT · JavaScript
col_v
chaldea-center/chaldea · res/js/solver.js:107
let col_v = integer_result ? glp_mip_col_val(lp, col_no + 1) : glp_get_col_prim(lp, col_no + 1);
if (col_v !== 0) {
let variable = { "name": null, "value": null, "cost": null, "detail": {} };
let v = Math.ceil(col_v);
variable["name"] = data.colNames[col_no];
variable["value"] = v;
variable["cost"] = data.costs[col_no];
total_num += v;
total_cost += v * data.costs[col_no];
for (let row_no = 0; row_no < row_count; row_no++) {
let row_name = data.rowNames[row_no];
let aij = data.matrix[row_no][col_no];
if (aij > 0 && objective[row_name] > 0) {
variable["detail"][row_name] = Math.floor(v * data.costs[col_no] / aij);
}
}
variables.push(variable);
log(`result ${col_no + 1}, AP ${data.costs[col_no]}, ${v} times. col=${data.colNames[col_no]}`);