ip lecture 1

Upload: sathish-kumar

Post on 03-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 Ip Lecture 1

    1/62

    Integer Programming

    Wolfram Wiesemann

    November 17, 2009

    http://goforward/http://find/http://goback/
  • 7/29/2019 Ip Lecture 1

    2/62

    Contents of this Lecture

    Mixed and Pure Integer Programming Problems

    DefinitionsObtaining a Pure Integer Progamming Problem

    ExamplesCapital Budgeting

    Depot Location

    Further Uses of Integer VariablesFinite-Valued VariablesLogical Operations

    Solving IP Problems: Cutting Plane AlgorithmOutline: Cutting Plane AlgorithmGomory CutsExample

    http://find/
  • 7/29/2019 Ip Lecture 1

    3/62

    Contents of this Lecture

    Mixed and Pure Integer Programming Problems

    DefinitionsObtaining a Pure Integer Progamming Problem

    ExamplesCapital Budgeting

    Depot Location

    Further Uses of Integer VariablesFinite-Valued VariablesLogical Operations

    Solving IP Problems: Cutting Plane AlgorithmOutline: Cutting Plane AlgorithmGomory CutsExample

    http://find/
  • 7/29/2019 Ip Lecture 1

    4/62

    Definitions

    Mixed Integer Programming Problem.

    min x0 = cTx

    subject to

    Ax = b

    xj 0 for j N = {1, . . . , n}

    xj Z for j Z N.

    Note: xj N \ Z are continuous, as before. Pure Integer Programming Problem. Z = N {x0}, i.e.,

    all variables (including slack and objective value) are integral.Can be achieved by scaling.

    http://find/
  • 7/29/2019 Ip Lecture 1

    5/62

    Contents of this Lecture

    Mixed and Pure Integer Programming Problems

    DefinitionsObtaining a Pure Integer Progamming Problem

    ExamplesCapital Budgeting

    Depot Location

    Further Uses of Integer VariablesFinite-Valued VariablesLogical Operations

    Solving IP Problems: Cutting Plane AlgorithmOutline: Cutting Plane AlgorithmGomory CutsExample

    http://find/http://goback/
  • 7/29/2019 Ip Lecture 1

    6/62

    Obtaining a Pure Integer Progamming Problem

    Consider the following problem:

    min x0 = 13

    x1 12

    x2

    subject to

    2

    3 x1 +

    1

    3 x2

    4

    31

    2x1

    3

    2x2

    2

    3x1, x2 0

    x1, x2 Z.

    This is not a pure integer programming problem:

    x0 not integral.

    Slack variables not integral.

    http://find/
  • 7/29/2019 Ip Lecture 1

    7/62

    Obtaining a Pure Integer Progamming Problem

    Step 1. Scale the equations of the model.

    min x0 = 2x1 3x2 (6)

    subject to

    2x1 + x2 4 (3)

    3x1 9x2 4 (6)

    x1, x2 0

    x1, x2 Z.

    http://find/
  • 7/29/2019 Ip Lecture 1

    8/62

    Obtaining a Pure Integer Progamming Problem

    Step 2. Insert (integral) slack variables:

    min x0 = 2x1 3x2

    subject to

    2x1 + x2 + x3 = 4

    3x1 9x2 + x4 = 4

    x1, x2, x3, x4 0

    x1, x2, x3, x4 Z.

    http://find/
  • 7/29/2019 Ip Lecture 1

    9/62

    Contents of this Lecture

    Mixed and Pure Integer Programming Problems

    DefinitionsObtaining a Pure Integer Progamming Problem

    ExamplesCapital Budgeting

    Depot Location

    Further Uses of Integer VariablesFinite-Valued VariablesLogical Operations

    Solving IP Problems: Cutting Plane AlgorithmOutline: Cutting Plane AlgorithmGomory CutsExample

    http://find/
  • 7/29/2019 Ip Lecture 1

    10/62

    Capital Budgeting

    Company has resources i {1, . . . ,m}. Resource i has limitedavailability bi.

    Company can undertake projects j {1, . . . ,n}. Project jrequires aij units of resource i and gives revenues cj.

    Which projects should be undertaken such that the resourceavailabilities are observed and the revenues maximised?

    maxx

    nj=1

    cjxj

    subject to

    nj=1

    aijxj bi i {1, . . . ,m}

    xj {0, 1} j {1, . . . ,n}

    http://find/
  • 7/29/2019 Ip Lecture 1

    11/62

    Contents of this Lecture

    Mixed and Pure Integer Programming Problems

    DefinitionsObtaining a Pure Integer Progamming Problem

    ExamplesCapital Budgeting

    Depot Location

    Further Uses of Integer VariablesFinite-Valued VariablesLogical Operations

    Solving IP Problems: Cutting Plane AlgorithmOutline: Cutting Plane AlgorithmGomory CutsExample

    http://find/
  • 7/29/2019 Ip Lecture 1

    12/62

    Depot Location (1)

    Company has m potential distribution sites i {1, . . . ,m}.Building a distribution centre at site i costs fi.

    There are n customers j {1, . . . , n}, each of whose demands

    need to be satisfied from one or more distribution centres.Satisfying fraction xij of customer js demand fromdistribution centre i costs cij, given that centre i is built.

    Which distribution centres should be built, and how should

    the customer demands be satisfied, to minimise costs?

    http://find/
  • 7/29/2019 Ip Lecture 1

    13/62

    Depot Location (2)

    minx,y

    mi=1

    fiyi +m

    i=1

    nj=1

    cijxij

    subject to

    mi=1

    xij = 1 j {1, . . . , n}

    xij yi i {1, . . . , m} , j {1, . . . , n}

    xij 0 i {1, . . . , m} , j {1, . . . , n}yi {0, 1} i {1, . . . , m}

    http://find/
  • 7/29/2019 Ip Lecture 1

    14/62

    Contents of this Lecture

    Mixed and Pure Integer Programming Problems

    DefinitionsObtaining a Pure Integer Progamming Problem

    ExamplesCapital Budgeting

    Depot LocationFurther Uses of Integer Variables

    Finite-Valued VariablesLogical Operations

    Solving IP Problems: Cutting Plane AlgorithmOutline: Cutting Plane AlgorithmGomory CutsExample

    http://find/
  • 7/29/2019 Ip Lecture 1

    15/62

    Finite-Valued Variables

    Assume a variable xj can only take a finite number of values:

    xj {p1, . . . , pm} .

    We can introduce variables z1j , . . . , zmj {0, 1} and add the

    constraint

    z1j + . . . + zmj = 1.

    Now, we can substiute xj with

    p1z1j + . . . + pmzmj

    in the objective function and all constraints.

    http://find/
  • 7/29/2019 Ip Lecture 1

    16/62

    Finite-Valued Variables

    Example. xj {1, 3, 11} can be modeled as

    z1j + z2

    j + z3

    j = 1

    z1j , z2

    j , z3

    j {0, 1} .

    We then substitute xj everywhere by

    1z1j + 3z2

    j + 11z3

    j .

    Exercise. Is it possible to save variables here?

    http://find/http://goback/
  • 7/29/2019 Ip Lecture 1

    17/62

    Contents of this Lecture

    Mixed and Pure Integer Programming Problems

    DefinitionsObtaining a Pure Integer Progamming Problem

    ExamplesCapital Budgeting

    Depot LocationFurther Uses of Integer Variables

    Finite-Valued VariablesLogical Operations

    Solving IP Problems: Cutting Plane AlgorithmOutline: Cutting Plane AlgorithmGomory CutsExample

    O

    http://find/http://goback/
  • 7/29/2019 Ip Lecture 1

    18/62

    Logical Operations

    We can model logical operations on the constraints via integervariables. For example, the expression

    aTx b dTx e

    can be expressed by:

    aTx M b

    dTx M(1 ) e

    {0, 1} ,

    where M is a large number.

    L i l O i

    http://find/http://goback/
  • 7/29/2019 Ip Lecture 1

    19/62

    Logical Operations

    Example. We want to model the following problem:

    min x

    subject tox [0, 1] x 2.

    Solution. This can be expressed as:

    min x

    subject to

    x 1 + M

    x 2 M(1 )

    x 0.

    L i l O i

    http://find/http://goback/
  • 7/29/2019 Ip Lecture 1

    20/62

    Logical Operations

    Example. We want to model the following problem:

    min x1 x2

    subject to

    x1 + x2 4

    x1 1 x2 1 but not both x1, x2 > 1

    x1, x2 0.

    L i l O ti

    http://find/
  • 7/29/2019 Ip Lecture 1

    21/62

    Logical Operations

    Solution. This can be expressed as:

    min x1 + x2

    subject to

    x1 + x2 4x1 1 M

    x2 1 M(1 )

    x1 1 + M(1 )

    x2 1 + M

    x1, x2 0.

    C t t f thi L t

    http://find/
  • 7/29/2019 Ip Lecture 1

    22/62

    Contents of this Lecture

    Mixed and Pure Integer Programming ProblemsDefinitionsObtaining a Pure Integer Progamming Problem

    ExamplesCapital BudgetingDepot Location

    Further Uses of Integer VariablesFinite-Valued VariablesLogical Operations

    Solving IP Problems: Cutting Plane AlgorithmOutline: Cutting Plane AlgorithmGomory CutsExample

    The Big Pict e

    http://find/
  • 7/29/2019 Ip Lecture 1

    23/62

    The Big Picture

    Want to solve a pure IP problem:

    Dont know how to solve IP problems. Know how to solve continuous problems (Simplex).

    Outline of a solution procedure:

    Solve a continuous relaxation. Contains all originally feasible solutions, plus others.

    If optimal solution is integral, we are done.

    Otherwise, tighten the relaxation and repeat.

    Continuous relaxation: xj Z xj R.Tightening: Add cutting planes (cut off current optimum).

    The Big Picture

    http://find/http://goback/
  • 7/29/2019 Ip Lecture 1

    24/62

    The Big Picture

    A cutting plane algorithm to solve pure integer programmingproblems works as follows.

    1. Solve the IP problem with continuous variables instead ofdiscrete ones.

    2. If the resulting optimal solution x

    is integral, stop optimalsolution found.

    3. Generate a cut, i.e., a constraint which is satisfied by allfeasible integer solutions but not by x.

    4. Add this new constraint, resolve problem, and go back to (2).

    Terminates after finite number of iterations in (2). Resulting x isintegral and optimal.

    Example

    http://find/http://goback/
  • 7/29/2019 Ip Lecture 1

    25/62

    Example

    Consider the following problem:

    max x0 = 5x1 + 8x2

    subject to

    x1 + x2 6

    5x1 + 9x2 45

    x1, x2 0

    x1, x2 Z.

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    26/62

    Example

    Step 1. Solve the IP problem with continuous variables instead ofdiscrete ones.

    0

    1

    2

    3

    4

    5

    6

    0 1 2 3 4 5 6 7 8

    o o o o o o o

    o o o o o o

    o o o o o

    o o o o

    o o

    o

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    27/62

    Example

    Step 2. If the resulting optimal solution x is integral, stop

    optimal solution found.

    0

    1

    2

    3

    4

    5

    6

    0 1 2 3 4 5 6 7 8

    o o o o o o o

    o o o o o o

    o o o o o

    o o o o

    o o

    o

    x

    Resulting solution is x = (2.25, 3.75) and hence not integral.

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    28/62

    Example

    Step 3. Generate a cut, i.e., a constraint which is satisfied by all

    feasible integer solutions but not by x

    .

    0

    1

    2

    3

    4

    5

    6

    0 1 2 3 4 5 6 7 8

    o o o o o o o

    o o o o o o

    o o o o o

    o o o o

    o o

    o

    x

    We generate cut 2x1 + 3x2 15.

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    29/62

    Example

    Step 4. Add this new constraint, resolve problem, and go back to(2).

    0

    1

    2

    3

    4

    5

    6

    0 1 2 3 4 5 6 7 8

    o o o o o o o

    o o o o o o

    o o o o o

    o o o o

    o o

    o

    New optimal solution is x = (3, 3).Note: previous x is not feasible anymore.

    Example

    http://find/http://goback/
  • 7/29/2019 Ip Lecture 1

    30/62

    Example

    Step 2. If the resulting optimal solution x is integral, stop

    optimal solution found.

    0

    1

    2

    3

    4

    5

    6

    0 1 2 3 4 5 6 7 8

    o o o o o o o

    o o o o o o

    o o o o o

    o o o o

    o o

    o

    x

    x = (3, 3) is integral optimal solution found.

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    31/62

    Example

    Remark. The cut we introduced only removed non-integral

    solutions. Cuts never cut off feasible solutions of the original IPproblem!

    0

    1

    2

    3

    4

    5

    6

    0 1 2 3 4 5 6 7 8

    o o o o o o o

    o o o o o o

    o o o o o

    o o o o

    o o

    o

    Contents of this Lecture

    http://find/
  • 7/29/2019 Ip Lecture 1

    32/62

    Contents of this Lecture

    Mixed and Pure Integer Programming ProblemsDefinitionsObtaining a Pure Integer Progamming Problem

    ExamplesCapital BudgetingDepot Location

    Further Uses of Integer VariablesFinite-Valued VariablesLogical Operations

    Solving IP Problems: Cutting Plane AlgorithmOutline: Cutting Plane AlgorithmGomory CutsExample

    Ralph E. Gomory (* 1929)

    http://find/
  • 7/29/2019 Ip Lecture 1

    33/62

    p y ( 9 9)

    Outline of an Algorithm for Integer Solutions to Linear ProgramsBulletin of the American Mathematical Society, Vol. 64,

    pp. 275-278, 1958.

    Gomory Cut

    http://find/
  • 7/29/2019 Ip Lecture 1

    34/62

    y

    Assume x1, . . . , xn 0 and integral. We show how to construct aGomory Cut for

    a1x1 + . . . + anxn = b,

    where aj, b R (not necessarily integral). Note that this can be

    written as

    (a1+[a1 a1] f1

    )x1+. . .+(an+[an an] fn

    )xn = b+[b b] f

    ,

    where = max { Z : } (largest integer smaller than orequal to ).

    Gomory Cut

    http://find/
  • 7/29/2019 Ip Lecture 1

    35/62

    y

    We separate fractional and integral terms:

    (a1 + f1)x1 + . . . + (an + fn)xn = b + f

    f1x1 + . . . + fnxn f = b a1 x1 . . . an xn.

    Observations.

    1. As xj Z for all feasible x, right-hand side is integral.

    2. Thus, for all feasible x, left-hand side must be integral, too.

    3. As 0 f< 1, x 0 and left-hand side integral, left-hand sidemust be non-negative.

    Consequence. f1x1 + . . . + fnxn f 0 f1x1 + . . . + fnxn ffor every feasible x.

    Gomory Cut

    http://find/
  • 7/29/2019 Ip Lecture 1

    36/62

    y

    Suppose Step 1 of our cutting plane algorithm gives non-integralx. Then there is row in Simplex tableau with

    xi +

    j/I

    yijx

    j = yi0

    with yi0 / Z.Gomory Cut. Setting fj := yij yij, f := yi0 yi0, we get:

    j/I

    fjxj f. ()

    () is fulfilled for all feasible x but not for x:

    j/I fjx

    j = 0 < f.

    Contents of this Lecture

    http://find/http://goback/
  • 7/29/2019 Ip Lecture 1

    37/62

    Mixed and Pure Integer Programming ProblemsDefinitions

    Obtaining a Pure Integer Progamming Problem

    ExamplesCapital BudgetingDepot Location

    Further Uses of Integer VariablesFinite-Valued VariablesLogical Operations

    Solving IP Problems: Cutting Plane AlgorithmOutline: Cutting Plane AlgorithmGomory CutsExample

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    38/62

    Consider the following problem:

    max 3x1 + 4x2

    subject to

    25

    x1 + x2 3

    2

    5x1

    2

    5x2 1

    x1, x2 0

    x1, x2 Z.

    Example

    http://find/http://goback/
  • 7/29/2019 Ip Lecture 1

    39/62

    Step 1. Convert maximisation objective into minimisation.

    min x0 = 3x1 4x2

    subject to

    25

    x1 + x2 3

    2

    5x1

    2

    5x2 1

    x1, x2 0

    x1, x2 Z.

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    40/62

    Step 1. Scale the equations of the problem.

    min x0 = 3x1 4x2

    subject to

    25

    x1 + x2 3 (5)

    2

    5x1

    2

    5x2 1 (5)

    x1, x2 0

    x1, x2 Z.

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    41/62

    Step 1. Scale the equations of the problem.

    min x0 = 3x1 4x2

    subject to

    2x1 + 5x2 15

    2x1 2x2 5

    x1, x2 0

    x1, x2 Z.

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    42/62

    Step 1. Insert integral slack variables.

    min x0 = 3x1 4x2

    subject to

    2x1 + 5x2 + x3 = 15

    2x1 2x2 + x4 = 5

    x1, x2, x3, x4 0

    x1, x2, x3, x4 Z.

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    43/62

    Step 1. Solve continuous relaxation of problem.

    BV x1 x2 x3 x4 RHS

    x0 3 4 0x3 2 5 1 15x4 2 -2 1 5

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    44/62

    Step 1. Solve continuous relaxation of problem.

    BV x1 x2 x3 x4 RHS

    x0 3 4 0x3 2 5 1 15x4 2 -2 1 5

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    45/62

    Step 1. Solve continuous relaxation of problem.

    BV x1 x2 x3 x4 RHS

    x0 3 4 0x3 2 5 1 15x4 2 -2 1 5

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    46/62

    Step 1. Solve continuous relaxation of problem.

    BV x1 x2 x3 x4 RHS

    x0 3 4 0x3 2 5 1 15

    x4 2 -2 1 5

    x07

    54

    5-12

    x22

    51 1

    53

    x4

    14

    5

    2

    5 1 11

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    47/62

    Step 1. Solve continuous relaxation of problem.

    BV x1 x2 x3 x4 RHS

    x07

    5

    4

    5 -12x2

    2

    51 1

    53

    x414

    5

    2

    51 11

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    48/62

    Step 1. Solve continuous relaxation of problem.

    BV x1 x2 x3 x4 RHS

    x07

    5 4

    5 -12x2

    2

    51 1

    53

    x414

    5

    2

    51 11

    Example

    http://find/http://goback/
  • 7/29/2019 Ip Lecture 1

    49/62

    Step 1. Solve continuous relaxation of problem.

    BV x1 x2 x3 x4 RHS

    x07

    5

    4

    5

    -12

    x22

    51 1

    53

    x414

    5

    2

    51 11

    Example

    http://find/http://goback/
  • 7/29/2019 Ip Lecture 1

    50/62

    Step 1. Solve continuous relaxation of problem.

    BV x1 x2 x3 x4 RHS

    x07

    54

    5-12

    x22

    51 1

    53

    x4 1452

    51 11

    x0 -1 1

    2-352

    x2 11

    71

    7

    10

    7

    x1 11

    7

    5

    14

    55

    14

    Solution optimal; Simplex stops.

    Example

    http://find/http://goback/
  • 7/29/2019 Ip Lecture 1

    51/62

    Step 3. Generate cut based on x1 row.

    1

    7x3 +

    5

    14x4

    13

    14

    1

    7

    (15 2x1 5x2) +5

    14

    (5 2x1 2x2) 13

    14 x1 3

    Introduce new variable x5 with

    x5 = 1314

    + 17

    x3 + 514

    x4 = 3 x1.

    Add this cut to the problem and go back to Step (1).

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    52/62

    Step 1. Solve continuous relaxation of problem.

    BV x1 x2 x3 x4 x5 RHS

    x0 -1 1

    2-352

    x2 1 17 17

    107

    x1 11

    7

    5

    14

    55

    14

    17

    5

    14-1 13

    14

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    53/62

    Step 1. Solve continuous relaxation of problem.

    BV x1 x2 x3 x4 x5 RHS

    x0 -1 1

    2-352

    x2 1 17 17 107

    x1 11

    7

    5

    14

    55

    14

    17

    5

    14-1 13

    14

    Example

    http://find/http://goback/
  • 7/29/2019 Ip Lecture 1

    54/62

    Step 1. Solve continuous relaxation of problem.

    BV x1 x2 x3 x4 x5 RHS

    x0 -1 1

    2-352

    x2 11

    71

    7

    10

    7

    x1 11

    7

    5

    14

    55

    14

    17

    5

    14-1 13

    14

    x0 4

    57

    581

    5

    x2 11

    52

    5

    9

    5

    x1 1 1 3

    x42

    51 14

    5

    13

    5

    Solution optimal; Simplex stops.

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    55/62

    Step 3. Generate cut based on x2 row.

    1

    5x3 +

    3

    5x5

    4

    5

    1

    5

    (15 2x1 5x2) +3

    5

    (3 x1) 4

    5 x1 + x2 4

    Introduce new variable x6 with

    x6 = 15

    x3 + 35

    x5 45

    = 4 x1 x2

    Add this cut to the problem and go back to Step (1).

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    56/62

    Step 1. Solve continuous relaxation of problem.

    BV x1 x2 x3 x4 x5 x6 RHS

    x0 4

    57

    581

    5

    x2 11

    5 2

    5

    9

    5

    x1 1 1 3

    x42

    51 14

    5

    13

    5

    15

    3

    5-1 4

    5

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    57/62

    Step 1. Solve continuous relaxation of problem.

    BV x1 x2 x3 x4 x5 x6 RHS

    x0 4

    57

    581

    5

    x2 11

    5

    25

    9

    5

    x1 1 1 3

    x42

    51 14

    5

    13

    5

    15

    3

    5-1 4

    5

    http://find/http://goback/
  • 7/29/2019 Ip Lecture 1

    58/62

    Example

    http://find/http://goback/
  • 7/29/2019 Ip Lecture 1

    59/62

    Step 3. Generate cut based on x2 row.

    1

    3x3 +

    1

    3x6

    1

    3

    1

    3

    (15 2x1 5x2) +1

    3

    (4 x1 x2) 1

    3 x1 + 2x2 6

    Introduce new variable x7 with

    x7 = 13

    x3 + 13

    x6 13

    = 6 x1 2x2

    Add this cut to the problem and go back to Step (1).

    Example

    http://goforward/http://find/http://goback/
  • 7/29/2019 Ip Lecture 1

    60/62

    Step 1. Solve continuous relaxation of problem.

    BV x1 x2 x3 x4 x5 x6 x7 RHS

    x0 1

    37

    343

    3

    x2 11

    32

    3

    7

    3

    x1 1 1

    3

    5

    3

    5

    3

    x44

    31 14

    3

    19

    3

    x51

    31 5

    3

    4

    3

    13 13 -1 13

    Example

    http://find/
  • 7/29/2019 Ip Lecture 1

    61/62

    Step 1. Solve continuous relaxation of problem.

    BV x1 x2 x3 x4 x5 x6 x7 RHS

    x0 1

    37

    343

    3

    x2 11

    32

    3

    7

    3

    x1 1 1353

    53

    x44

    31 14

    3

    19

    3

    x51

    31 5

    3

    4

    3

    13 13 -1 13

    ExampleStep 1. Solve continuous relaxation of problem.

    http://find/
  • 7/29/2019 Ip Lecture 1

    62/62

    BV x1 x2 x3 x4 x5 x6 x7 RHS

    x0 1

    3

    7

    3

    43

    3

    x2 11

    3

    2

    3

    7

    3

    x1 1 1

    3

    5

    3

    5

    3

    x44

    31

    14

    3

    19

    3

    x5

    1

    31

    5

    3

    4

    3

    13

    1

    3-1

    1

    3

    x0 -2 -1 -14

    x2 1 -1 1 2

    x1 1 2 -1 2

    x4 1 -6 4 5

    x5 1 -2 1 1

    x3 1 1 -3 1

    http://find/