0

Integer Programming: Formulations and Algorithms

Description: This quiz covers the concepts and techniques related to Integer Programming, a specialized branch of optimization that deals with problems where some or all of the decision variables are restricted to integer values. The questions explore various formulations and algorithms used in Integer Programming, including linear programming relaxation, branch-and-bound, cutting planes, and dynamic programming.
Number of Questions: 14
Created by:
Tags: integer programming linear programming relaxation branch-and-bound cutting planes dynamic programming
Attempted 0/14 Correct 0 Score 0

Which of the following is a valid formulation for an Integer Programming problem?

  1. Minimize z = 2x + 3y

  2. Maximize z = 2x + 3y subject to x, y ≥ 0

  3. Maximize z = 2x + 3y subject to x, y ∈ Z

  4. Minimize z = 2x + 3y subject to x, y ∈ R


Correct Option: C
Explanation:

In Integer Programming, the decision variables are restricted to integer values. Therefore, a valid formulation includes the constraint x, y ∈ Z, which ensures that the variables take on integer values.

What is the purpose of linear programming relaxation in Integer Programming?

  1. To obtain an optimal solution to the Integer Programming problem

  2. To provide a lower bound on the optimal objective value

  3. To generate a feasible solution to the Integer Programming problem

  4. To identify all feasible solutions to the Integer Programming problem


Correct Option: B
Explanation:

Linear programming relaxation involves solving a relaxed version of the Integer Programming problem, where the integer constraints are temporarily removed. The optimal solution to the relaxed problem provides a lower bound on the optimal objective value of the original Integer Programming problem.

In branch-and-bound for Integer Programming, what is the purpose of branching?

  1. To divide the feasible region into smaller subregions

  2. To identify all feasible solutions to the problem

  3. To find an optimal solution to the problem

  4. To generate a linear programming relaxation of the problem


Correct Option: A
Explanation:

Branching in branch-and-bound involves dividing the feasible region of the Integer Programming problem into smaller subregions. This is done by adding additional constraints that restrict the values of the decision variables, effectively creating new subproblems.

What is the role of cutting planes in Integer Programming?

  1. To strengthen the linear programming relaxation

  2. To generate feasible solutions to the problem

  3. To identify all optimal solutions to the problem

  4. To reduce the number of variables in the problem


Correct Option: A
Explanation:

Cutting planes are additional constraints that are added to the linear programming relaxation of an Integer Programming problem. These constraints are designed to eliminate infeasible solutions and tighten the relaxation, resulting in a stronger lower bound on the optimal objective value.

Which of the following is a dynamic programming algorithm commonly used for solving Integer Programming problems?

  1. Branch-and-bound

  2. Cutting planes

  3. Lagrangian relaxation

  4. Knapsack problem


Correct Option: D
Explanation:

The knapsack problem is a classic Integer Programming problem that involves selecting items from a set of items with different weights and values, subject to a weight constraint. Dynamic programming is a powerful technique for solving the knapsack problem and other similar Integer Programming problems.

Consider the following Integer Programming problem: Minimize z = 2x + 3y subject to x + y ≥ 5, x, y ≥ 0, x, y ∈ Z. What is the optimal solution to this problem?

  1. x = 2, y = 3

  2. x = 3, y = 2

  3. x = 4, y = 1

  4. x = 5, y = 0


Correct Option: B
Explanation:

To solve this problem, you can use a branch-and-bound algorithm or a dynamic programming approach. The optimal solution is x = 3, y = 2, which gives an objective value of z = 12.

In an Integer Programming problem, what is the purpose of a feasible solution?

  1. To provide an upper bound on the optimal objective value

  2. To satisfy all constraints of the problem

  3. To identify all optimal solutions to the problem

  4. To generate a linear programming relaxation of the problem


Correct Option: B
Explanation:

A feasible solution to an Integer Programming problem is a set of values for the decision variables that satisfies all constraints of the problem, including the integer constraints. Finding a feasible solution is an important step in Integer Programming algorithms, as it provides an upper bound on the optimal objective value.

Which of the following is a valid formulation for a mixed-integer programming problem?

  1. Minimize z = 2x + 3y subject to x, y ≥ 0

  2. Maximize z = 2x + 3y subject to x, y ∈ Z

  3. Maximize z = 2x + 3y subject to x ∈ Z, y ≥ 0

  4. Minimize z = 2x + 3y subject to x ∈ R, y ∈ Z


Correct Option: C
Explanation:

A mixed-integer programming problem is a type of Integer Programming problem where some of the decision variables are restricted to integer values while others are allowed to take on continuous values. The valid formulation for a mixed-integer programming problem includes constraints that specify which variables are integers and which are continuous.

What is the purpose of a branch-and-cut algorithm in Integer Programming?

  1. To generate a linear programming relaxation of the problem

  2. To identify all feasible solutions to the problem

  3. To strengthen the linear programming relaxation and generate cutting planes

  4. To reduce the number of variables in the problem


Correct Option: C
Explanation:

A branch-and-cut algorithm is a type of branch-and-bound algorithm that incorporates cutting planes to strengthen the linear programming relaxation of an Integer Programming problem. By adding cutting planes, the algorithm tightens the relaxation and improves the lower bound on the optimal objective value.

Consider the following Integer Programming problem: Maximize z = 2x + 3y subject to x + y ≤ 5, x, y ≥ 0, x, y ∈ Z. What is the optimal solution to this problem?

  1. x = 2, y = 3

  2. x = 3, y = 2

  3. x = 4, y = 1

  4. x = 5, y = 0


Correct Option: A
Explanation:

To solve this problem, you can use a branch-and-bound algorithm or a dynamic programming approach. The optimal solution is x = 2, y = 3, which gives an objective value of z = 12.

Which of the following is a valid formulation for a binary integer programming problem?

  1. Minimize z = 2x + 3y subject to x, y ≥ 0

  2. Maximize z = 2x + 3y subject to x, y ∈ Z

  3. Maximize z = 2x + 3y subject to x, y ∈ {0, 1}

  4. Minimize z = 2x + 3y subject to x ∈ R, y ∈ Z


Correct Option: C
Explanation:

A binary integer programming problem is a type of Integer Programming problem where the decision variables are restricted to binary values (0 or 1). The valid formulation for a binary integer programming problem includes constraints that specify that the variables can only take on binary values.

What is the purpose of a Lagrangian relaxation in Integer Programming?

  1. To generate a linear programming relaxation of the problem

  2. To identify all feasible solutions to the problem

  3. To strengthen the linear programming relaxation and generate cutting planes

  4. To decompose the problem into smaller subproblems


Correct Option: D
Explanation:

Lagrangian relaxation is a technique used in Integer Programming to decompose the problem into smaller subproblems. This is done by introducing a Lagrangian function that relaxes the integer constraints and allows the decision variables to take on continuous values. The subproblems are then solved independently, and the solutions are combined to obtain a solution to the original Integer Programming problem.

Consider the following Integer Programming problem: Minimize z = 2x + 3y subject to x + y ≥ 5, x, y ≥ 0, x, y ∈ Z. What is the optimal solution to this problem?

  1. x = 2, y = 3

  2. x = 3, y = 2

  3. x = 4, y = 1

  4. x = 5, y = 0


Correct Option: A
Explanation:

To solve this problem, you can use a branch-and-bound algorithm or a dynamic programming approach. The optimal solution is x = 2, y = 3, which gives an objective value of z = 12.

Which of the following is a valid formulation for a set partitioning problem?

  1. Minimize z = 2x + 3y subject to x, y ≥ 0

  2. Maximize z = 2x + 3y subject to x, y ∈ Z

  3. Maximize z = 2x + 3y subject to x, y ∈ {0, 1}

  4. Minimize z = 2x + 3y subject to ∑x_i = 1, x_i ∈ {0, 1}


Correct Option: D
Explanation:

A set partitioning problem is a type of Integer Programming problem where the objective is to partition a set of elements into disjoint subsets, subject to certain constraints. The valid formulation for a set partitioning problem includes a constraint that ensures that each element is assigned to exactly one subset.

- Hide questions