| |||||||||||||||||
Linear relaxations Description This set of examples requires Xpress Optimizerin addition to Xpress Kalis.
Source Files By clicking on a file name, a preview is opened at the bottom of this page.
knapsackalld.mos (!**************************************************************** CP example problems =================== file knapsackalld.mos ````````````````````` Knapsack problem with additional alldifferent constraint solved using linear relaxations. - Using default settings for relaxation - (c) 2009 Artelys S.A. and Fair Isaac Corporation Creation: 2009, rev. Mar. 2013, rev. Jun. 2023 *****************************************************************!) model "Knapsack with side constraints" uses "kalis" declarations VALUES = {1,3,8,9,12} R = 1..4 x: array(R) of cpvar ! Decision variables benefit: cpvar ! The objective to minimize end-declarations ! Enable output printing setparam("kalis_verbose_level", 1) ! Setting name of variables for pretty printing forall(i in R) setname(x(i),"x"+i) setname(benefit,"benefit") ! Set initial domains for variables forall(i in R) setdomain(x(i), VALUES) ! Knapsack constraints 3*x(1) + 5*x(2) + 2*x(3) <= 50 2*x(1) + x(3) + 5*x(4) <= 75 ! Additional global constraint all_different(union(i in R) {x(i)}) ! Objective function benefit = 5*x(1) + 8*x(2) + 4*x(3) + x(4) ! Initial propagation if not cp_propagate: exit(1) ! Display bounds on objective after constraint propagation writeln("Constraint propagation objective ", benefit) ! **** Linear relaxation **** ! Enable automatic linear relaxations setparam("kalis_auto_relax", true) ! Solve the problem if cp_maximize(benefit): cp_show_sol ! Output optimal solution to screen end-model | |||||||||||||||||
© Copyright 2024 Fair Isaac Corporation. |