Function SCIPsolveKnapsackExactly

Source
pub unsafe extern "C" fn SCIPsolveKnapsackExactly(
    scip: *mut SCIP,
    nitems: c_int,
    weights: *mut c_longlong,
    profits: *mut f64,
    capacity: c_longlong,
    items: *mut c_int,
    solitems: *mut c_int,
    nonsolitems: *mut c_int,
    nsolitems: *mut c_int,
    nnonsolitems: *mut c_int,
    solval: *mut f64,
    success: *mut c_uint,
) -> SCIP_RETCODE
Expand description

solves knapsack problem in maximization form exactly using dynamic programming; if needed, one can provide arrays to store all selected items and all not selected items

@note in case you provide the solitems or nonsolitems array you also have to provide the counter part, as well

@note the algorithm will first compute a greedy solution and terminate if the greedy solution is proven to be optimal. The dynamic programming algorithm runs with a time and space complexity of O(nitems * capacity).