40
Groebner Bases, Toric Ideals and Integer Programming: An Application to Economics Tan Tran Junior Major-Economics& Mathematics

Groebner Bases, Toric Ideals and Integer Programming: An

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Groebner Bases, Toric Ideals and Integer Programming: An

Groebner Bases, Toric Ideals and Integer Programming: An Application to Economics

Tan Tran

Junior

Major-Economics& Mathematics

Page 2: Groebner Bases, Toric Ideals and Integer Programming: An

History

• Groebner bases were developed by Buchberger in 1965, who later named them after his advisor, Wolfgang Groebner.

• Groebner bases were first used to solve the Ideal Membership Problem.

• Groebner bases can be described as special generating subsets of an ideal in a polynomial ring.

• They provide the foundation for many algorithms in algebraic geometry and commutative algebra.

Page 3: Groebner Bases, Toric Ideals and Integer Programming: An

Efficient Generation of Polynomial Ideals and an Application to Integer Programming

• Polynomial rings (in a finite number of indeterminates over a field) are the most fundamental objects of Computational Commutative Algebra.

• Polynomial rings are associative, commutative rings with identity.

1,....., nk x x

Page 4: Groebner Bases, Toric Ideals and Integer Programming: An

Ideals

• A subset of a ring, , is an ideal if it satisfies:

i. .

ii. If , then .

iii. If and , then .

Different examples of ideals in the polynomial ring: – Ideal generated by a finite number of polynomials.

– Ideal generated by monomials (LT ideal)

– Ideal generated by binomials (toric ideal).

– Ideal generated by varieties.

1,....., nI k x x

0 f,f g I f g I

f I 1,...., nh k x x hf I

Page 5: Groebner Bases, Toric Ideals and Integer Programming: An

Ideal Membership Problem

In the single variable case:

• Given , and an ideal I= , how to determine whether a given polynomial in

lies, for example, in ?

• How to find the generator of the ideal contained in k[x]?

• GCD is the key to the ideal membership problem. In the single variable case, if the division of the polynomial yields zero as the remainder, then it is in the given ideal.

4 61, 1x x

f k x 1,....., sf f

f

[ ]k x

k x

Page 6: Groebner Bases, Toric Ideals and Integer Programming: An

Polynomials of one variable • Given a nonzero polynomial , let

, where

• Division algorithm- let k be a field and let g be a nonzero polynomial in k[x]. Then every f in k[x] can be written as

f= qg + r, where q, r in K[x], and are unique.

0< deg(r) < deg (g)

Ex:

f k x

1

0 1 ....m m

mf a x a x a 0

mLT f a x

3 2 2 31 12 4 4

2 1 2 1 1x x x x x x x

Page 7: Groebner Bases, Toric Ideals and Integer Programming: An

Greatest Common Divisor and The Euclidean Algorithm

• The greatest common divisor of polynomials is a polynomial h such that:

1. h divides 2. if p is another polynomial which divides , then p divides

h.

• GCD gives the generator for the ideal . It exists

and is unique, as the consequence of the division algorithm.

• The Euclidean Algorithm is the classic algorithm for computing the GCD of two polynomials in k[x]. It can also be modified to calculate the GCD of multivariable polynomials.

1,...., sf f k x

1,...., sf f

1,...., sf f

1,...., sf f

Page 8: Groebner Bases, Toric Ideals and Integer Programming: An

Multivariable Polynomials

• A polynomial in K[ ] with coefficients in K is a finite linear combination of monomials.

1,...., nx x

,f a x a k

0deg max nmulti f

deg( )multi fLC f a k

deg( )( ) multi fLM f x

( ) ( ) ( )LT f LC f LM f

f

Page 9: Groebner Bases, Toric Ideals and Integer Programming: An

Monomial

• A monomial in K[ ] is a product of the form denoted and is the exponent vector with

• The total degree of this monomial is the sum

1,...., nx x1 2

1 2 ..... n

nx x x ax

1,...., na

0ia Z

1 ..... n

Page 10: Groebner Bases, Toric Ideals and Integer Programming: An

Term Ordering

• A monomial (term) order on is a relation on a set of monomials or, equivalently, on the set of exponent vectors a

, such that:

a) is a total order;

b) If

c) is a well ordering.

• Given a term order , every nonzero polynomial has a unique leading monomial denoted .

1,...., nk x xax

1,...., na 0ia Z

u v u w v wx x x x 0

nw

1,...., nf k x x

( )in f

Page 11: Groebner Bases, Toric Ideals and Integer Programming: An

Example

How to order ?

1. With respect to the lex order, the reordering of the terms of in decreasing order is:

2. With respect to grlex order:

3. With respect to grevlex order:

2 2 3 2 24 4 5 7 [ , , ]f xy z z x x z k x y z

3 2 2 2 25 7 4 4f x x z xy z z

2 2 2 3 27 4 5 4f x z xy z x z

2 2 2 3 24 7 5 4f xy z x z x z

f

Page 12: Groebner Bases, Toric Ideals and Integer Programming: An

Lexicographic Order

• Let and . We say if, in the vector difference

the left most nonzero entry is positive. We will write if .

Ex: since

1( ,...., )n 1 0( ,..... ) n

n

lex n

x x lex

3 2 4 3 2 1

1 2 3 1 2 3lexx x x x x x

(3,2,4) (3,2,1)lex (0,0,3)

Page 13: Groebner Bases, Toric Ideals and Integer Programming: An

Division algorithm in multivariable polynomials

• Fix a monomial order on and let be an ordered s-tuple of polynomials in . Then every f in can be written as

Where:

1. The

2. No term of r is divisible by any .

3. 1< i < s.

0

n

1 1 ... s sF a f a f r

1( ,...., )sF f f

1,..., nK x x

1, K ,...,i na r x x

( )iin f

( ) ( )i iin f in a f

1K ,..., nx x

Page 14: Groebner Bases, Toric Ideals and Integer Programming: An

• Changing the order of polynomials in the division set can change the result and, in particular, the remainders will be different.

EX:

Division 1:

Division 2:

2 2 1, 1xy x xy y

2

1 21, 1f xy f y

2 2( 1) 0 ( 1) ( )xy x y xy y x y

r x y

2

1 21, 1f y f xy

2 2( 1) 0 ( 1) 0xy x x y xy

0r

Page 15: Groebner Bases, Toric Ideals and Integer Programming: An

• Ideal Membership problem: Given and an ideal , determine if

• It is impossible to use the method of the one variable case to solve the ideal membership problem.

1,...., sI f f f I1K[ , , ]nf x x

Page 16: Groebner Bases, Toric Ideals and Integer Programming: An

Groebner Bases

Definition: Given a monomial order and an ideal . We say that is a Groebner Basis of I if .

• Any Groebner basis for an ideal I is a generating set for I.

1[ ,...., ]nI F x x 1,...., tg g

1( ),..., ( ) ( )tin g in g in I

Page 17: Groebner Bases, Toric Ideals and Integer Programming: An

Groebner Bases

• If is a Groebner basis for I, and

, then f can be written uniquely in the form f= g+r, where and no term of r is divisible by .

• If is a Groebner basis for I, and , then the remainder of f on division by is zero.

1,...., tg g

1K[ ,..., ]nf x x

1 1( ... )t tg I g a g a g

( )iin g

1{ ,...., }tg g

1K[ ,..., ]nf x x f I

1,...., ng g

Page 18: Groebner Bases, Toric Ideals and Integer Programming: An

Hilbert Basis Theorem

• Every ideal has a finite generating set. That is, for some

• Fix a monomial order. Then every ideal other than {0} has a finite Groebner basis.

1,...., nI k x x

1,...., tI g g 1,...., tg g I

1[ ,...., ]nI K x x

Page 19: Groebner Bases, Toric Ideals and Integer Programming: An

Buchberger Algorithm

Let be nonzero. Fix a monomial order and let , . Let

be the least common multiple of and .

The S polynomial of f and g is:

( , )( ) ( )

x xS f g f g

LT f LT g

1, K[ ,..., ]nf g x x

( ) , ( )u vin f cx in g dx ,c d k

wx ux vx

Page 20: Groebner Bases, Toric Ideals and Integer Programming: An

Example

Which is not divisible by or by .

3 2f x xy

2 22g x y y x 3 3

3 2 2

3 2( , ) ( 2 ) ( 2 )

x y x yS f g x xy x y y x

x x y

4 2 3 3 43 3

3 2 2

2 2x y x y x yx y x y

x x y x y

2 2 2 22 2xy xy x x

( )in f ( )in g

Page 21: Groebner Bases, Toric Ideals and Integer Programming: An

Buchberger Algorithm

Input: Output: a Groebner basis for I, with

REPEAT FOR each pair in G’ DO

IF THEN UNTIL

is the unique remainder of f on division by

(r is normal form)

1( ,...., )sF f f

1( ,...., )sG g g F G' :G F

' :G G{ , },p q p q

0S : { }G G S

'

: ( , )G

S S p q

'G GG

r f1{ ,...., }nG g g

Page 22: Groebner Bases, Toric Ideals and Integer Programming: An

Example

REPEAT

REPEAT

3 2 2 2

1 { 2 , 2 , }G x xy x y y x x

1

1 2( , ) 0G

S g g

1

1 3 4( , ) 2G

S g g xy g

1 2

2 3 5( , ) 2G

S g g x y g 3 2 2 2 2

2 { 2 , 2 , , 2 , 2 }G x xy x y x x xy x y

2 3

1 5( , ) 4G

S g g y

2 3

4 5( , ) 2G

S g g y

2

( , ) 0G

i jS g g

3 2 2 2 2 3

3 { 2 , 2 , , 2 , 2 , }G x xy x y x x xy x y y

3

( , ) 0G

i jS g g

all other i,j

3G G

i j

Page 23: Groebner Bases, Toric Ideals and Integer Programming: An

My Research

• My research consists of applying specific concepts and constructions from Commutative Algebra to the area known in Economics as Integer Programming.

• In particular, by means of several algorithms (Conti-Traverso, Buchberger), a specific Transportation Problem (one of the classical problems of Integer Programming) is solved.

• To find the Toric Ideal and Groebner Basis needed to obtain the optimal solution, it was necessary to explore several versions of Computational Commutative Algebra software such as CoCoa and Maucalay.

Page 24: Groebner Bases, Toric Ideals and Integer Programming: An

Terminologies

• A homomorphism from a ring (R, +, ·) to a ring (S, ‡, *) is a function f from R to S that that preserves the structure of a ring, that is, for all a, b in R, the following identities hold:

• f(a + b) = f(a) ‡ f(b)

• f(a · b) = f(a) * f(b)

Page 25: Groebner Bases, Toric Ideals and Integer Programming: An

Toric Ideal

Fix

Identify each with a monomial (Laurent polynomial ring)

Consider the semigroup homomorphism:

Which lifts to:

ker( ) is , the Toric Ideal of A

1{ ,...., } d

nA a a Z

ia1 1

1 1[ ,...., , ,..., ]ia

d dt F t t t t

: n dN Z

1 1 1( ,..., ) ....n n nu u u u u aa

^1 1

1 1 1: [ ,...., ] [ ,...., , ,...., ]n d dk x x k t t t t

AI^

Page 26: Groebner Bases, Toric Ideals and Integer Programming: An

Toric Ideal

• Toric ideal is a special class of ideals in the polynomial ring.

• The toric ideal is a spanned as a F vector space by the set of binomials

{ : , ( ) ( )}u v nx x u v N and u v

AI

Page 27: Groebner Bases, Toric Ideals and Integer Programming: An

Integer Programming

• Given any “cost vector” , find a point u in which minimizes the value of the linear functional .

• The idea here is to apply toric ideals to model and solve the problem.

nw R1( )b

u u w

Page 28: Groebner Bases, Toric Ideals and Integer Programming: An

Given any cost vector find a point u in which minimizes the value of the linear functional.

The fiber consists of all non-negative integer matrices with row sums r and column sums c.

nw R1( )b

1

' '

1

'

1 1

1 1 1 1

Fix , ,

,....,

,..., , ,

{ : 1,....., , 1,...., }

: ,

{ } ( ,...., ; ,...., )

s

s

t

t

d

i j

s t s t

t t s s

ij j sj i it

j j i i

s t Z

e e N

e e N n s t d s t

A e e i s j t N

N N

u u u u u

u u w

1( ; )r c s t

Page 29: Groebner Bases, Toric Ideals and Integer Programming: An

Algorithm

Input: a matrix A and a cost function

Output: An optimal point with minimal for any given .

1. Compute the reduced Groebner basis G for with respect to weight order.

2. For any given vector do: a. Find any feasible solution .

b. Compute the normal form with respect to the weight order. Output u.

d nnw R

1( )u b u w( )b im

( )b im 1( )v b

of u vx x

Page 30: Groebner Bases, Toric Ideals and Integer Programming: An

The Transportation Problem

s= 4 factories

t=3 stores

produces 120 units demands 183 units

produces 204 units demands 190 units

produces 92 units demands 98 units

produces 55 units

W is the non negative real cost associated with transporting one unit from to .

We want the transportation plan that minimizes total cost of shipping all 942 units. In the fiber:

We have all the possible transportation plans.

1 2 3 4, , ,F F F F

1 2 3, ,S S S

1F

2F

4F3F

1S

2S

3S

jSiF

1(120,204,92,55;183,190,98)

Page 31: Groebner Bases, Toric Ideals and Integer Programming: An

And let be the diagonal term order .

In this case is the set of 2*2 minors.

Consider the feasible solution

Corresponding to the matrix v =

11 12( .... )stx x x

120 0 0 14 190 0 0 0 92 49 0 6

11 12 13 21 22 23 31 32 33 41 42 43

vx x x x x x x x x x x x x

wG

1 1 3

2 1 1

1 1 2

3 2 1

w

120 0 0

14 190 0

0 0 92

49 0 6

Page 32: Groebner Bases, Toric Ideals and Integer Programming: An

The normal form of with respect to the Groebner basis

is

Which is the optimal solution

vx

{ :1 4,1 4}il jk ik jlx x x x i j k l

120 161 43 63 29 55

11 22 23 31 32 43

ux x x x x x x

120 0 0

0 161 43

63 29 0

0 0 55

u

Page 33: Groebner Bases, Toric Ideals and Integer Programming: An

Use of Software

• CoCoa

• MaCaulay

Page 34: Groebner Bases, Toric Ideals and Integer Programming: An
Page 35: Groebner Bases, Toric Ideals and Integer Programming: An
Page 36: Groebner Bases, Toric Ideals and Integer Programming: An
Page 37: Groebner Bases, Toric Ideals and Integer Programming: An
Page 38: Groebner Bases, Toric Ideals and Integer Programming: An
Page 39: Groebner Bases, Toric Ideals and Integer Programming: An
Page 40: Groebner Bases, Toric Ideals and Integer Programming: An

CONCLUSIONS

• The use of techniques from Groebner Basis Theory, and Commutative Algebra in general, to solve a classical problem from Economics, Integer Programming, shows how advances in research in pure mathematics find applications never imagined. As I am a double major, this project let me see first hand how a very abstract area of Mathematics has an application to my other field.