# Issue

I wanted to solve the simple example, given below, using the Benders decomposition approach.

from docplex.mp.model import Model

# Creating model

``````my_bdrex=Model('My Benders Model',log_output=True)
``````

# Defining variables

``````x_1=my_bdrex.integer_var(name='x_1', lb=0)
``````

x_2=my_bdrex.integer_var(name=’x_2′, lb=0)

y_1=my_bdrex.integer_var(name=’y_1′, lb=0)

y_2=my_bdrex.integer_var(name=’y_2′, lb=0)

y_3=my_bdrex.integer_var(name=’y_3′, lb=0)

# Defining the objective function

objective_bdrex=4x_1+7x_2+2y_1-3y_2+y_3

# Solving the Model

my_bdrex.maximize(objective_bdrex)

my_bdrex.parameters.benders.strategy = 1

x_1.benders_annotation=0

x_2.benders_annotation=0

y_1.benders_annotation=1

y_2.benders_annotation=1

y_3.benders_annotation=1

my_bdrex_MP.print_information()

print(my_bdrex_MP.export_as_lp_string())

my_bdrex_MP.solve(clean_before_solve=True)

my_bdrex_MP.print_solution()

The above problem is an integer programming problem. I want to solve it by putting some variables in the master problem and remaining in the subproblem. But when I run the code I got the error: CPLEX Error 2002: Invalid Benders decomposition.

I request here to the community please help me to solve it by using the Benders decomposition approach.

Thanks…………

# Solution

In documentation Benders decomposition: CPLEX default

CPLEX implements a default Benders decomposition in certain
situations.

if there are no continuous variables in your model, CPLEX raises an
error stating that it cannot automatically decompose the model to
apply a Benders strategy.

There is no continuous variable in your model, which explains why you got an error

``` This Question was asked in  StackOverflow by  Mohammad Samiullah and Answered by Alex Fleischer It is licensed under the terms of
CC BY-SA 2.5. - CC BY-SA 3.0. - CC BY-SA 4.0.```