applying discrete optimization usually means solving real - world problems in industry , transportation , location , etc , but there are many problems arising in abstract mathematics , specially in commutative algebra , that can be formulated as integer programming problems and that have centered the attention of many researchers . in particular , problems in classical number theory are specially interesting and only a few papers appear in the literature where operational researchers deal with these type of problems .  in the recent years , there have appeared several methods based on algebraic tools to solve ( single and multi - objective ) discrete optimization problems as grbner bases or short generating functions , amongst others . in this paperwe intend to give an inverse viewpoint , that is , how optimization tools can help to solve algebraic problems and then getting closer both mathematical fields , algebra and operational research .  here , we study a specific problem in a basic algebraic structure : numerical semigroups .it is a simple framework where developing optimization tools to make computations that are usually done by brute force .a numerical semigroup is a set of non - negative integers , closed under addition , containing zero and such that its complement in is finite .details about the theory of numerical semigroups can be found in the recent monograph by rosales and garca - snchez .it can be checked that many of the main notions in the theory of semigroups are , in fact , defined or characterized as discrete optimization problems .for instance , for a numerical semigroup , its multiplicity , , is the least integer belonging to , that is note that , if the reader is not familiar with numerical semigroups , may be it may not be possible to see why the above problem is a discrete optimization problem , but any numerical semigroup is minimally generated by a finite set of integers with , and then , any element in can be expressed as a linear combination , with non - negative integer coefficients , of this set .hence , the multiplicity of can be written as in this case , it is clear that .other well - known index is the _frobenius number_. if is a numerical semigroup , its frobenius number , , is the largest integer not belonging to .this index is well defined since by definition is finite .then ,    selmer proved that when a numerical semigroup , , is generated by only two elements and , then .however , there have not been many successes in finding formulas to compute the frobenius number when the numerical semigroup is generated by more than two integers .unfortunately , this problem can not be expressed as a linear integer problem .the last classical index that we want to mention is the genus of a numerical semigroup .if is a numerical semigroup , the _ genus _ of , , is the cardinal of ( its number of holes ) , that is , .new arithmetic invariants for commutative semigroups , and then , in particular for numerical semigroups that have recently appeared in the literature are the tame degree , the catenary degree and the invariant ( see for a complete algebraic description of these indices ) .these arithmetic invariants come from the field of commutative algebra and factorization theory , and their definitions are not intuitive from a combinatorial viewpoint . in particular , the invariant allows to derive crucial finiteness properties in the theory of non - unique factorizations for semigroups ( tameness ) .however , in the authors give characterizations of some of these concepts that allow the optimization approach giving here .  the goal of this paper is to present a new method for computing the invariant of a numerical semigroup by optimizing a linear function over the non - dominated solutions of a multiobjective integer programming problem .in contrast to usual integer programming problems , in multiobjective problems there are several objective functions to be optimized .usually , it is not possible to optimize all the objective functions simultaneously since objective functions induce a partial order over the vectors in the feasible region , so a different notion of solution is needed .a feasible vector is said to be a non - dominated ( or pareto optimal ) solution if no other feasible vector has component - wise larger objective values .the evaluation through the objectives of a non - dominated solution is called efficient solution .there are nowadays relatively few exact methods to solve general multiobjective integer and linear problems ( see ) .some of them combine optimality of the returned solutions with adaptability to a wide range of problems  .other methods , such as dynamic programming , are general methods for solving , not very efficiently , general families of optimization problems ( see ) . a different approach , as the two - phase method ( see ) , looks for supported solutions ( those that can be found as solutions of a single - objective problem over the same feasible region but with objective function a linear combination of the original objectives ) in a first stage and non - supported solutions are found in a second phase using the supported ones .the two - phase method combines usual single - criteria methods with specific multiobjective techniques .  optimizing over an efficient set consists then of maximizing ( or minimizing ) a single objective function over the solutions of a multiobjective problem . since it is not known the structure of the solution set of that problem , different techniques that those used to solve single or multiobjective problems are needed if we do not want to enumerate all the efficient solutions and then evaluate the function over all of them .although there have appeared some papers analyzing this problem when the problem is continuous ( see for instance , or ) , only a few study the discrete case ( ) .we apply an adaptation of the algorithm presented in to compute the invariant of a numerical semigroup .we choose that methodology since the approaches given in and does not fit the requirement of our problem .although there is no need of computing the invariant of a numerical semigroup in a short time , the hardness of computing this index even for a small number of generators makes it difficult to analyze the invariant . furthermore , algebraic researchers are showing an interest in studying certain combinatorial properties of non - unique factorizations ( in particular by the invariant ) , but this difficulty makes impossible to go further in the study of this index . in authors give an algorithm to compute the invariant of a numerical semigroup by using techniques from factorization theory in monoids , and they give a short list of small problems that can be solved by using that methodology .we provide here a new method that avoid the complete enumeration of the non - dominated solutions of the subjacent multiobjective problem , and then , we are able to compute more efficiently the invariant of a numerical semigroup .this allows us to obtain computations that can not be done up to the moment by using the brute force algorithm and then , better analysis of the behavior of this invariant . in the last section of the paperwe show that our method , not only improve the cpu computation times , but the sizes of the problems that can be solved .however , in this paper we do not underestimate the algorithm in .our algorithm seems to be able to compute the invariant for larger instances , but the approach in allows to give interesting conclusions for some special families of numerical semigroups .we center here in the computational side of the problem .other advantage of formulating the omega index as a mathematical programming problem is that a better analysis of the constraints and the objective function may improve the general running of the method .in section [ sec:2 ] we introduce the preliminary definitions and results for the rest of the paper .there , we describe the objects under study , the numerical semigroups , and the index we are interested to compute , the -invariant .an algorithm for optimizing a linear function over an efficient integer set is described in section [ sec:3 ] , and it allows to compute efficiently the -invariant of a numerical semigroup . in section [ sec:4 ] we show some computational tests done to check the efficiency of the algorithm .this paper is almost self - contained and written to be accessible for both algebraists and operational researchers .we begin this section introducing the structure under the study of this paper .a numerical semigroup is a subset of ( here denotes the set of non - negative integers ) closed under addition , containing zero and such that is finite .we say that is a system of generators of if .we denote if is a system of generators of .note that any numerical semigroup has an unique minimal system of generators , in the sense that no proper subset of it is a system of generators .then , we assume through this paper that if then is the minimal system of generators of and .the cardinality of the minimal system of generators , , is called the _ embedding dimension _ of .  note that , for a numerical semigroup we can define a homomorphism as usually called _ the factorization homomorphism_. for any element in we define as the set .the _ factorization monoid _ is the set .  for these semigroupswe are interested in computing an index that measures how far away generators of a numerical semigroup are from primes : the invariant ( see for further details ) .[ defi : omega ] let be a numerical semigroup . for , let  denote the smallest  with the following property :  1 .  for all and , if , then there exists a subset such that and   furthermore , we set   note that since any numerical semigroup satisfies the ascending chain condition for -ideals ( see and the references therein for further details ) .it is not direct to connect the above definition with optimization theory .however , the following result , proved in , is crucial to develop the integer programming method proposed in this paper . here , if , for some , we denote by the set of minimals elements in with respect to the component - wise order in .[ theo : omega ] let be a numerical semigroup .  1 .  for every , , 2 . .we denote by the _ length _ of . from the above result ,compute the invariant consists of maximizing the lengths of the minimal elements in the factorization monoid .  in the next sectionwe connect the above result with the problem of optimizing a linear function over the efficient set of a multiobjective integer linear problem . inwhat follows , we recall the general structure of the optimization problems that are involved in the mathematical programming formulation of the omega invariant .this part of the paper can be skipped if the reader is familiar with this theory .an _ integer linear programming _ problem consists of finding the largest ( or smallest ) value of a linear operator ( objective function ) when only takes values over a feasible region defined by a system of linear equations :    where for all and .if we denote by and by , this problem can be written as    it is well - known that the complexity of solving the above problem is np - complete , and difficult to solve even for a small number of variables ( see ) . however, when the constraints ( ) have a concrete structure , or the formulation comes from a problem where more information is known , it is possible to develop exact ( or heuristic with high precision ) algorithms that allow to solve efficiently these problems ( see ) .recently , some papers have appeared where algebraic tools are used to solve problem ( see ) .if we consider in a linear operator ( with ) we get a integer linear multiobjective optimization problem :   since , in this case , objective function defines a non - total order over the set of solutions of with , it is needed to define what we understand about solving .we say that a vector with is a _ non - dominated ( or pareto optimal ) solution _ if there is no other vector with and such that and where denotes the component - wise order in .then , the solution of is a set of feasible solutions that are not comparable and such that we can not find better solutions with respect to the partial ordering induced by . in the casewe want to minimize instead of maximize , the ordering is adapted conveniently .  in general , the complexity of solving multiobjective integer problems is - hard and just a few algorithms appear in the literature to solve exactly this kind of problems .the recent works by blanco and puerto , de loera et .al and blanco and puerto present algebraic approaches for solving these problems . an interesting monograph for multiobjective optimization is .  in the next and last stepwe recall the goal of optimizing over an efficient integer region .note that given the set of non - dominated solutions of we may be interested in finding those non - dominated solutions that maximize a linear operator .then , we are interested in solving the following optimization problem : it is not possible , in general , to express the constraint of the above problem as a linear system of equations . actually , as far as we know , there are no descriptions for the set of solutions of a multiobjective problem , and then , to solve one may think of solving first the multiobjective problem , and then , selecting those solutions with largest values of .this process is not effective and it makes it difficult when the efficient set has a large size .however , there exists a few algorithms to solve without enumerating the complete set of non - dominated solutions of .in particular , we will adapt the algorithm presented in to solve the problem of optimizing over the efficient integer set related to the -invariant .the following result states the structure of the optimization problem that solves the -invariant .[ theo:1 ] let be a numerical semigroup .then , for each , is the solution of the following oes problem :   observe that the elements in are those minimal elements with respect to the component wise ordering in , and .problem consists of maximizing the lengths of the non - dominated solutions of a multiobjective problem .we denote by that subjacent multiobjective problem  from the formulation of the -invariant given in the above result , it is clear that if we denote by , the -tuple having a as its entry and zeros otherwise , for each , since we can always write and is not a feasible solution .consequently , if the multiobjective subproblem has more non - dominated solutions they must have to be not comparable with .the next lemma states that these unit vector can not be solution of the multiobjective subjacent problem .[ lemma:1 ] let be a numerical semigroup .then , for all .  from definition [ defi : omega ] ,let us see that .assume that , then , if , there exists some such that .that is , if for some , then for some , for any and any .it is clear that it is not possible since that assumption is the same as stating that the generators of are prime , but there are no primes in a numerical semigroup ( see ) .furthermore , note that the feasible region in is not bounded .however , by solving linear integer problems we can obtain upper bounds for each of the variables involved in the problem , making bounded the feasible region .for each and , let the optimal value of the following integer program : the solutions of are those feasible solutions of in the form .an upper bound for each variable in is then .note that if is a non - dominated solution of the multiobjective subproblem in , and , then , and also , if , then .it is clear since if and have nonzero values , then , we can always find a feasible solution where , , and and for .this result is also proved in from an algebraic viewpoint , in terms of the supports of and .  as a direct consequence of lemma [ lemma:1 ] , theorem [ theo:1 ] and the comment above we get the following result :  [ corollary:1 ] let be a numerical semigroup .then , for each , is the solution of the following oes problem :   now , computing the omega invariant consists of solving a problem of optimizing a linear function over the efficient region of a bounded integer linear multiobjective problem . in the next sectionwe describe a methodology for solving .in this section we adapt the procedure given in for solving , and consequently compute the omega invariant of a numerical semigroup . for the sake of that , we first give some previous results related to each of the steps of the algorithm .let .the first step of the proposed procedure consists of stating that we effectively need to design an algorithm to compute . with this aim, we consider a relaxed problem of consisting of obviating that the feasible solutions are just the minimal non - dominated solutions of the multiobjective problem , but the feasible solutions of .this problem is the following if we solve and the optimal solution is a non - dominated solution of , then , that solution is the solution of .furthermore , if is infeasible , has no solution .the next result gives us some information about the above problem .[ lemma:3 ] problem is feasible .furthermore , the optimal solutions of are not non - dominated solution of .  by the definition of the invariant and the characterization given in theorem [ theo:1 ] ,it is clear that can not be infeasible .moreover , the problem is bounded due to the finiteness of ( see comment after definition [ defi : omega ] ) .let an optimal solution of .assume first that for all with ( ) .then , by the comment done before corollary [ corollary:1 ] , for all , and then , by feasibility , that is not possible since we are supposing that is a minimal system of generators of . then , there exists at least one such that .assume now that is a non - dominated solution of , and let and .by definition is a feasible solution of and , and consequently contradicting the optimality of .the above result justifies the development of an algorithm that allows to improve the optimal solution of to obtain the optimal value of . in the next step we search for feasible solutions of that are non - dominated and that dominate the optimal solution of . for that , we use the following adaptation of the result by ecker and kouada .[ lemma:4 ] let be an optimal solution of and an optimal solution of the following problem then , is a non - dominated solution of that dominates .  with this lemma , we are able to compute non - dominated solutions of from the solutions of. however , these solutions may not be the ones that maximize the lengths in .to move through feasible solutions of our problem to obtain the wished solutions , we use the idea presented in , where the author gives a procedure to generate new non - dominated solutions .this procedure uses a result given in the book by nemhauser and wolsey .[ lemma:5 ] let be a non - dominated solution and an optimal solution of the following problem and where .then , is a feasible solution of that is not dominated by .  by using the above lemma , in casethe solution is not a solution of , we can generate other feasible solution , non comparable with it and such that we can check if it is the one that we are looking for or , if it is not , continue iterating to reach it .  therefore ,if the solution obtained is not optimal for and we find by using lemma [ lemma:5 ] , can be replaced by in the procedure of lemma [ lemma:4 ] to obtain a non - dominated solution that dominates . if this new non - dominated solution is not the optimal solution of we use again lemma [ lemma:5 ] to obtain a non comparable solution with this .but it may occur that this process cycle obtaining again .however , this can be avoided by applying the following extension of lemma [ lemma:5 ] , and also the reader can find it in , that allows to obtain a feasible solution of that is not comparable with a given list of non - dominated solutions .[ lemma:6 ] let be non - dominated solutions of and an optimal solution of the following problem and where .then , is a feasible solution of that is not dominated by .  with this methodwe are able to find a feasible solution that is not comparable with any of the solutions found in the previous iterations ( those that we know that are not optimal for ) .we can repeat the process until we get the desired solution , but when do we know that we have got the solution of our problem ? to ask this question we analyze the last step of the described procedure .assume we have obtained a non - dominated solution of , .if we solve and we get as optimal solution with then , is the solution to our problem since among all the possible non - dominated solutions , the one that has maximum length has smaller length than . moreover , if is infeasible , clearly is our solution .the general procedure is describe in the pseudo - code of algorithm [ alg:1 ]  [ alg:1 ]   solve : .  a direct consequence of all the above comments about the proposed procedure is the following .let be a numerical semigroup .algorithm [ alg:1 ] computes in a finite number of steps . as , algorithm [ alg:1 ] also allows the computation of .the following example illustrates the usage of algorithm [ alg:1 ] .let .the corresponding bounds are , and and the constants for are , and .the optimal solution for is .solving now we obtain , and finally , the optimal solution of is . since , we continue with the algorithm with .computing now the solution of we get and is infeasible , so .analogously we obtain and , being .note that further improvements can be done in the above algorithm by incorporating bounds for the invariant at each step of it .for instance , we can initially set and , the lower and upper bounds for , respectively .then , update with the optimal value of and with the optimal value of when they are improved . with this, we have that either when or the optimal value of is smaller than , the solution is the last solution obtained by solving .we have included these bounds to our implementation for the computational results , although some others could be added by incorporating these bounds conveniently to the constraints of the problems .moreover , if the apery sets of the numerical semigroup are known , the following lemma , that appears in , helps us to simplify the problem of searching minimal solutions .let be a numerical semigroup , , and . then ,if , .  choose such that . since is feasible for , .from the minimality of , can not be minimal , that is , can not be expressed as a integer linear combination of , or equivalently , .this implies that .then , with the above result , the equation defining the feasible region of can be written as   since the above constraint is not linear , we can add part of the information contained on it by incorporating inequalities in the form or this section we present the results of some computational experiments done to analyze the applicability of the algorithm proposed in section [ sec:3 ] . for the sake ofthat we have generated a set of instances of numerical semigroups with different numbers of minimal generators . from the computational viewpoint , up to the moment , we can only compare our algorithm with a recent implementation done in gap for ( available upon request ) , and that consists of enumerating all the feasible solutions of , comparing them to determine which are the minimal solutions , and finally selecting those with largest length .our algorithm has been implemented in xpress - mosel 7.0 that allows to solve the single - objective integer problems involved in the resolution of the invariant , by using a branch - and - bound method and nesting models by calling the library ` mmjobs ` .the algorithms have been executed on a pc with an intel core 2 quad processor at 2x 2.50 ghz and 4 gb of ram .it is clear that the complexity of the algorithm depends of the dimension of the space ( embedding dimension of the numerical semigroups ) and the size of the coefficient of the constraints .then , we have generated for each , five instances of non - negative integers ranging in $ ] .note that larger instances are difficult to find since even for , selecting non - negative integers with great common divisor equal to one and such that they are a minimal system of generators of a numerical semigroup is not an easy task .we have used recursively the function ` randomlistforns ` of gap until we found the list of integer with the above requirements . in table[ table:1 ] we show the battery of numerical semigroup for which we have run the algorithms . in the first columnwe write the name we give to the semigroup , in the second column the set of minimal generating system of the numerical semigroup , and in the last column the embedding dimension of the semigroup .   `s` & & + ` s` & & + ` s` & & + ` s` & & + ` s` & & + ` s` & & + ` s` & & + ` s` & & + ` s` & & + ` s` & & +  ` s` & & + ` s` & & + ` s` & & + ` s` & + ` s` & & + ` s` & & + ` s` & & + ` s` & & + ` s` & & + ` s` & & +  in tables [ table:2 ] and [ table:3 ] we summarize the obtained results . in the first columnwe write the numerical semigroup ( ) .the second column is the generator with respect to the invariant is computed ( ) .the value of is shown in the third column ( in this same column we mark in bold face , for each numerical semigroup , the maximum value that coincides with ) .one of the minimal vectors that reach the maximum length is shown in the fourth column .the next column , the fifth , shows the number of iterations of our algorithm ( ) .the cpu time ( in seconds ) needed to compute with our algorithm ( ` time` ) and with gap ( ` gaptime ` - indicates that gap was not able to solve the problem in less than hours ) is shown in columns sixth and seventh , respectively .the eigth shows the total cpu time needed to compute ( ` totaltime ` ) .the average cpu time to compute each of the ( ` avtime ` ) is written in column nineth .the last column is the number of minimal ( nondominated ) elements of the corresponding problem that was computed with gap ( indicates that gap was not able to compute this number in less than two hours ) .  for the computations of the experiments for we add to the constraints of the multiobjective problem the inequalities or . & ` min ` & ` it ` & & ` gaptime ` & ` tottime ` & ` avtime ` & + & 20 & 4 & [ 0,0,0,0,4 ] & 9 & 0.54 & 6.03 & & & 12 + & 354 & 60 & [ 60,0,0,0,0 ] & 12 & 0.95 & 11.35 & & & 14 + s5(1 ) & 402 & 63 & [ 63,0,0,0,0 ] & 16 & 1.439 & 12.54 & 5.921 & 1.184 & 17 + & 417 & 60 & [ 60,0,0,0,0 ] & 15 & 1.43 & 12.68 & & & 16 + & 429 & 60 & [ 60,0,0,0,0 ] & 17 & 1.55 & 12.43 & & & 20 + & 7 & 3 & [ 0,3,0,0,0 ] & 10 & 0.55 & 12.48 & & & 11 + & 292 & 93 & [ 93,0,0,0,0 ] & 9 & 0.37 & 23.72 & & & 11 + s5(2 ) & 359 & 93 & [ 93,0,0,0,0 ] & 11 & 0.43 & 27.33 & 2.84 & 0.56 & 13 + & 645 & 200 & [ 200,0,0,0,0 ] & 14 & 0.67 & 45.92 & & & 15 + & 755 & 200 & [ 200,0,0,0,0 ] & 18 & 0.81 & 75.59 & & & 19 + & 5 & 2 & [ 0,0,0,2,0 ] & 8 & 0.285 & 1.201 & & & 11 + & 86 & 37 & [ 37,0,0,0,0 ] & 11 & 0.294 & 2.527 & & & 12 + s5(3 ) & 99 & 37 & [ 37,0,0,0,0 ] & 11 & 0.34 & 2.82 & 1.69 & 0.33 & 12 + & 148 & 60 & [ 60,0,0,0,0 ] & 12 & 0.37 & 4.1 & & & 13 + & 152 & 60 & [ 60,0,0,0,0 ] & 12 & 0.39 & 2.29 & & & 13 + & 41 & 14 & [ 0,14,0,0,0 ] & 12 & 0.893 & 5.64 & & & 14 + & 65 & 22 & [ 22,0,0,0,0 ] & 13 & 0.988 & 6.02 & & & 14 + s5(4 ) & 155 & 24 & [ 24,0,0,0,0 ] & 16 & 1.1 & 8.22 & 7.39 & 1.47 & 18 + & 317 & 22 & [ 21,0,1,0,0 ] & 22 & 2.916 & 13.96 & & & 28 + & 377 & 31 & [ 31,0,0,0,0 ] & 18 & 1.49 & 18.7 & & & 35 + & 28 & 10 & [ 0,10,0,0,0 ] & 11 & 0.5 & 10.71 & & & 12 + & 55 & 25 & [ 25,0,0,0,0 ] & 8 & 0.381 & 11.45 & & & 12 + s5(5 ) & 125 & 27 & [ 27,0,0,0,0 ] & 13 & 0.71 & 20.18 & 4.719 & 0.94 & 15 + & 233 & 26 & [ 26,0,0,0,0 ] & 13 & 0.732 & 42.37 & & & 17 + & 590 & 30 & [ 24,5,0,1,0 ] & 23 & 2.38 & 109.38 & & & 48 + & 43 & 5 & [ 0,0,5,0,0,0,0,0,0,0 ] & 49 & 3.36 & 5.41 & & & 58 + & 63 & 8 & [ 8,0,0,0,0,0,0,0,0,0 ] & 48 & 2.7 & 8.61 & & & 65 + & 68 & 8 & [ 8,0,0,0,0,0,0,0,0,0 ] & 49 & 3.16 & 13.18 & & & 69 + & 108 & 7 & [ 5,0,2,0,0,0,0,0,0,0 ] & 52 & 4.15 & 18.26 & & & 81 + & 120 & 8 & [ 8,0,0,0,0,0,0,0,0,0 ] & 57 & 4.24 & 12.65 & & & 94 + s10(1 ) & 135 & 9 & [ 9,0,0,0,0,0,0,0,0,0 ] & 68 & 5.95 & 15.5 & 67.89 & 6.78 & 108 + & 142 & 9 & [ 9,0,0,0,0,0,0,0,0,0 ] & 88 & 9.24 & 16.75 & & & 125 + & 150 & 7 & [ 4,2,1,0,0,0,0,0,0,0 ] & 66 & 8.07 & 19.85 & & & 116 + & 177 & 9 & [ 7,2,0,0,0,0,0,0,0,0 ] & 70 & 6.88 & 49.26 & & & 149 + & 224 & 9 & [ 7,0,2,0,0,0,0,0,0,0 ] & 113 & 20.1 & 65.16 & & & 246 + & 15 & 3 & [ 0,0,3,0,0,0,0,0,0,0 ] & 36 & 1.801 & 6.64 & & & 45 + & 46 & 9 & [ 9,0,0,0,0,0,0,0,0,0 ] & 39 & 1.66 & 10.32 & & & 48 + & 58 & 10 & [ 10,0,0,0,0,0,0,0,0,0 ] & 38 & 1.69 & 12.23 & & & 50 + & 89 & 9 & [ 7,0,1,0,0,0,0,1,0,0 ] & 47 & 2.681 & 17.33 & & & 68 + & 108 & 15 & [ 15,0,0,0,0,0,0,0,0,0 ] & 63 & 3.278 & 24 & & & 83 + s10(2 ) & 114 & 16 & [ 16,0,0,0,0,0,0,0,0,0 ] & 57 & 3.07 & 28.81 & 35.87 & 3.58 & 78 + & 117 & 15 & [ 15,0,0,0,0,0,0,0,0,0 ] & 63 & 4.316 & 21.65 & & & 88 + & 126 & 16 & [ 16,0,0,0,0,0,0,0,0,0 ] & 73 & 4.243 & 22.48 & & & 99 + & 130 & 22 & [ 22,0,0,0,0,0,0,0,0,0 ] & 64 & 3.399 & 38.59 & & & 98 + & 173 & 23 & [ 23,0,0,0,0,0,0,0,0,0 ] & 107 & 9.73 & 80.49 & & & 161 + & 20 & 4 & [ 0,0,0,4,0,0,0,0,0,0 ] & 39 & 1.48 & 5.1 & & & 43 + & 22 & 5 & [ 5,0,0,0,0,0,0,0,0,0 ] & 43 & 1.59 & 5.41 & & & 45 + & 24 & 5 & [ 5,0,0,0,0,0,0,0,0,0 ] & 36 & 1.3 & 5.41 & & & 45 + & 26 & 5 & [ 3,2,0,0,0,0,0,0,0,0 ] & 33 & 1.64 & 3.49 & & & 44 + s10(3 ) & 54 & 6 & [ 0,6,0,0,0,0,0,0,0,0 ] & 52 & 2.77 & 14.05 & 99.49 & 9.94 & 88 + & 77 & 9 & [ 7,0,2,0,0,0,0,0,0,0 ] & 93 & 13.27 & 26.72 & & & 176 + & 83 & 9 & [ 6,0,2,1,0,0,0,0,0,0 ] & 109 & 19.41 & 33.83 & & & 198 + & 89 & 10 & [ 10,0,0,0,0,0,0,0,0,0 ] & 100 & 13.85 & 41.18 & & & 219 + & 93 & 10 & [ 10,0,0,0,0,0,0,0,0,0 ] & 109 & 21.75 & 46.17 & & & 254 + & 95 & 10 & [ 10,0,0,0,0,0,0,0,0,0 ] & 114 & 22.4 & 52.46 & & & 251 + & 131 & 7 & [ 5,0,0,0,2,0,0,0,0,0 ] & 63 & 8.34 & 61.44 & & & 102 + & 136 & 6 & [ 3,1,0,0,2,0,0,0,0,0 ] & 47 & 7.23 & 54.38 & & & 88 + & 171 & 6 & [ 2,2,0,0,2,0,0,0,0,0 ] & 65 & 11.18 & 56.92 & & & 102 + & 173 & 7 & [ 3,1,3,0,0,0,0,0,0,0 ] & 60 & 9.87 & 116.22 & & & 118 + s10(4 ) & 239 & 8 & [ 5,2,0,0,0,0,0,1,0,0 ] & 83 & 16.81 & 104.66 & 225.55 & 22.55 & 155 + & 278 & 10 & [ 10,0,0,0,0,0,0,0,0,0 ] & 80 & 14.93 & 129.1 & & & 208 + & 287 & 10 & [ 10,0,0,0,0,0,0,0,0,0 ] & 62 & 11.628 & 128.1 & & & 178 + & 364 & 10 & [ 7,3,0,0,0,0,0,0,0,0 ] & 128 & 34.053 & 227.12 & & & 260 + & 483 & 11 & [ 9,1,0,0,0,0,1,0,0,0 ] & 204 & 105.146 & 497 & & & 427 + & 146 & 8 & [ 0,6,2,0,0,0,0,0,0,0 ] & 42 & 8.048 & 100.82 & & & 70 + & 173 & 10 & [ 10,0,0,0,0,0,0,0,0,0 ] & 71 & 15.43 & 115.39 & & & 99 + & 207 & 10 & [ 10,0,0,0,0,0,0,0,0,0 ] & 60 & 11.77 & 138.87 & & & 82 + & 359 & 12 & [ 7,5,0,0,0,0,0,0,0,0 ] & 60 & 14.69 & 198.246 & & & 152 + s10(5 ) & 426 & 12 & [ 12,0,0,0,0,0,0,0,0,0 ] & 77 & 16.23 & 290.08 & 315.14 & 31.51 & 130 + & 548 & 12 & [ 0,12,0,0,0,0,0,0,0,0 ] & 105 & 38.525 & 470.76 & & & 209 + & 604 & 15 &[ 15,0,0,0,0,0,0,0,0,0 ] & 124 & 43.81 & 499.9 & & & 244 + & 606 & 13 & [ 13,0,0,0,0,0,0,0,0,0 ] & 98 & 28.4 & 422.96 & & & 243 + & 657 & 12 & [ 0,8,4,0,0,0,0,0,0,0 ] & 105 & 65.01 & 558.71 & & & 244 + & 702 & 14 & [ 14,0,0,0,0,0,0,0,0,0 ] & 159 & 73.19 & 718.58 & & & 362 +   & ` min ` & ` it ` & & ` gaptime ` & ` tottime ` & ` avtime ` & + & 47 & 6 & [ 6,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 114 & 8.386 & 13.78 & & & 129 + & 65 & 5 & [ 4,0,0,1,0,0,0,0,0,0,0,0,0,0,0 ] & 112 & 10.358 & 35.64 & & & 159 + & 79 & 5 & [ 3,1,0,0,1,0,0,0,0,0,0,0,0,0,0 ] & 105 & 9.392 & 7.21 & & & 165 + & 82 & 6 & [ 0,6,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 141 & 13.664 & 17.93 & & & 184 + & 84 & 6 & [ 4,1,0,0,1,0,0,0,0,0,0,0,0,0,0 ] & 112 & 11.156 & 28.24 & & & 192 + & 91 & 7 & [ 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 101 & 6.863 & 9.34 & & & 173 + s15(1 ) & 96 & 7 & [ 4,3,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 104 & 11.98 & 52.225 & 612.099 & 40.8066 & 250 + & 100 & 8 & [ 8,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 187 & 26.425 & 29.725 & & & 251 + & 109 & 7 & [ 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 129 & 12.659 & 35.725 & & & 245 + & 121 & 8 & [ 8,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 154 & 19.271 & 48.225 & & & 307 + & 124 & 8 & [ 8,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 214 & 37.796 & 203.8 & & & 364 + & 134 & 7 & [ 5,1,1,0,0,0,0,0,0,0,0,0,0,0,0 ] & 168 & 29.652 & 241.9 & & & 383 + & 139 & 8 & [ 8,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 183 & 30.122 & 199.05 & & & 394 + & 169 & 8 & [ 5,2,0,0,0,1,0,0,0,0,0,0,0,0,0 ] & 285 & 38.405 & 164.625 & & & 680 + & 46 & 5 & [ 0,1,3,0,1,0,0,0,0,0,0,0,0,0,0 ] & 83 & 8.383 & 79.4 & & & 98 + & 115 & 6 & [ 2,0,3,0,1,0,0,0,0,0,0,0,0,0,0 ] & 94 & 10.454 & 112.65 & & & 109 + & 155 & 17 & [ 17,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 123 & 14.728 & 139.425 & & & 151 + & 286 & 15 & [ 12,0,3,0,0,0,0,0,0,0,0,0,0,0,0 ] & 137 & 20.015 & 291.65 & & & 206 + & 289 & 15 & [ 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 109 & 14.545 & 293.575 & & & 190 + & 341 & 17 & [ 17,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 174 & 65.975 & 401 & & & 252 + & 342 & 15 & [ 14,0,0,0,1,0,0,0,0,0,0,0,0,0,0 ] & 192 & 32.986 & 406.775 & & & 265 + s15(2 ) & 348 & 15 & [ 13,0,2,0,0,0,0,0,0,0,0,0,0,0,0 ] & 193 & 113.383 & 427.3 & 1683.63 & 112.242 & 291 + & 393 & 20 & [ 20,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 228 & 135.869 & 550.35 & & & 320 + & 436 & 25 &[ 25,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 273 & 74.036 & 736.575 & & & 413 + & 445 & 24 & [ 24,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 311 & 96.198 & 784.625 & & & 434 + & 449 & 19 & [ 19,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 294 & 82.945 & 795.45 & & & 425 + & 504 & 22 & [ 22,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 354 & 177.154 & 1161.45 & & & 594 + & 527 & 20 & [ 20,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 367 & 166.69 & 1345.275 & & & 610 + & 584 & 26 & [ 26,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 438 & 670.269 & 1988.875 & & & 737 + & 40 & 3 & [ 0,1,0,0,1,0,0,0,0,1,0,0,0,0,0 ] & 89 & 7.53 & 24.85 & & & 113 + & 84 & 8 & [ 8,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 119 & 11.648 & 39.95 & & & 139 + & 126 & 10 & [ 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 114 & 13.082 & 67.375 & & & 195 + & 130 & 10 & [ 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 117 & 12.165 & 68.425 & & & 188 + & 132 & 10 & [ 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 126 & 12.849 & 69.1 & & & 186 + & 135 & 10 & [ 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 149 & 23.85 & 72.4 & & & 212 + & 142 & 10 & [ 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 156 & 20.35 & 78.35 & & & 216 + s15(3 ) & 152 & 8 & [ 8,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 176 & 22.83 & 90.65 & 1407.684 & 93.8456 & 267 + & 165 & 12 & [ 12,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 183 & 31.199 & 109.15 & & & 305 + & 183 & 10 & [ 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 189 & 38.537 & 134.025 & & & 324 + & 217 & 11 & [ 9,1,0,0,1,0,0,0,0,0,0,0,0,0,0 ] & 244 & 77.582 & 219.075 & & & 446 + & 221 & 11 & [ 11,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 250 & 70.445 & 229.625 & & & 454 + & 229 & 13 & [ 13,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 274 & 89.679 & 253.775 & & & 478 + & 273 & 14 & [ 14,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 353 & 133.473 & 475.725 & & & 701 + & 323 & 15 & [ 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 578 & 842.465 & 3487.55 & & & 1076 + & 75 & 5 & [ 0,4,0,1,0,0,0,0,0,0,0,0,0,0,0 ] & 92 & 8.229 & 42.65 & & & 123 + & 104 & 6 & [ 4,0,0,1,1,0,0,0,0,0,0,0,0,0,0 ] & 96 & 10.708 & 52.2 & & & 140 + & 114 & 7 & [ 5,0,0,2,0,0,0,0,0,0,0,0,0,0,0 ] & 86 & 8.044 & 54.875 & & & 144 + & 128 & 7 & [ 5,0,2,0,0,0,0,0,0,0,0,0,0,0,0 ] & 104 & 10.528 & 61.075 & & & 147 + & 216 & 8 & [ 3,0,5,0,0,0,0,0,0,0,0,0,0,0,0 ] & 151 & 23.513 & 126.85 & & & 254 + & 219 & 9 & [ 8,1,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 145 & 19.017 & 126.95 & & & 251 + & 241 & 9 & [ 9,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 139 & 22.934 & 156.65 & & & 302 + s15(4 ) & 271 & 8 & [ 4,3,1,0,0,0,0,0,0,0,0,0,0,0,0 ] & 188 & 52.956 & 202.2 & 892.038 & 59.4692 & 357 + & 309 & 9 & [ 6,1,1,1,0,0,0,0,0,0,0,0,0,0,0 ] & 211 & 62.039 & 284.25 & & & 439 + & 310 & 10 & [ 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 188 & 34.511 & 281.525 & & & 429 + & 321 & 12 & [ 12,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 269 & 67.673 & 320.65 & & & 523 + & 327 & 10 &[ 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 185 & 43.396 & 341.225 & & & 502 + & 340 & 11 & [ 11,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 212 & 42.852 & 374.325 & & & 509 + & 352 & 10 & [ 7,3,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 262 & 300.513 & 2434.3 & & & 622 + & 371 & 11 & [ 11,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 315 & 185.125 & 505.925 & & & 661 + & 29 & 5 & [ 0,5,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 97 & 3.899 & 258.275 & & & 106 + & 50 & 5 & [ 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 99 & 4.911 & 533.775 & & & 116 + & 95 & 6 & [ 3,2,0,0,0,1,0,0,0,0,0,0,0,0,0 ] & 115 & 9.017 & 73.725 & & & 154 + & 96 & 10 & [ 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 120 & 7.652 & 24.55 & & & 171 + & 99 & 9 & [ 9,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 127 & 9.08 & 25.7 & & & 170 + & 109 & 9 & [ 9,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 138 & 11.984 & 30.225 & & & 187 + & 110 & 10 & [ 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 124 & 7.249 & 31.025 & & & 192 + s15(5 ) & 119 & 11 & [ 11,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 127 & 9.411 & 36.375 & 685.921 & 45.72807 & 211 + & 131 & 10 & [ 9,1,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 121 & 10.939 & 45.3 & & & 252 + & 134 & 11 & [ 11,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 174 & 17.188 & 48.075 & & & 258 + & 135 & 11 & [ 11,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 173 & 20.678 & 225.525 & & & 288 + & 152 & 10 & [ 8,2,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 180 & 28.469 & 144.375 & & & 338 + & 162 & 9 & [ 8,0,0,0,1,0,0,0,0,0,0,0,0,0,0 ] & 205 & 32.88 & 83.55 & & & 357 + & 180 & 10 & [ 8,2,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 269 & 71.89 & 269.85 & & & 471 + & 201 & 14 & [ 14,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 306 & 440.674 & 1883.525 & & & 584 + & 131 & 8 & [ 0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 188 & 35.321 & 321.325 & & & 264 + & 145 & 8 & [ 8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 191 & 34.252 & 332.3 & & & 265 + & 249 & 9 & [ 6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 233 & 54.57 & 550.725 & & & 340 + & 257 & 9 &[ 6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 233 & 53.913 & 569.15 & & & 352 + & 260 & 8 & [ 8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 197 & 47.428 & 573.775 & & & 355 + & 319 & 9 & [ 1,7,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 244 & 90.809 & 785.925 & & & 451 + & 354 & 9 & [ 4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 256 & 97.12 & 938.925 & & & 500 + & 459 & 10 & [ 0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 398 & 182.085 & 1700.525 & & & 787 + & 465 & 9 & [ 9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 356 & 363.725 & 1747.575 & & & 752 + s20(1 ) & 469 & 11 & [ 3,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 317 & 239.548 & 1802.75 & 19603.67 & 980.1835 & 796 + & 487 & 9 & [ 9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 384 & 408.842 & 2011.8 & & & 865 + & 572 & 12 & [ 6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 399 & 826.33 & 3290.4 & & & 1160 + & 575 & 10 & [ 0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 542 & 3123.4 & 3414.425 & & & 1235 + & 587 & 12 & [ 12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 487 & 1356.94 & 3657.525 & & & 1273 + & 606 & 11 & [ 11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 507 & 2100.84 & 4119.5 & & & 1389 + & 607 & 10 & [ 5,5,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 787 & 2894.21 & 4181.7 & & & 1387 + & 652 & 11 & [ 9,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 683 & 2013.25 & 5538.2 & & & 1673 + & 674 & 12 & [ 12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 821 & 1999.747 & 6288.875 & & & 1732 + & 694 & 11 & [ 11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 726 & 2991.08 & 7185.075 & & & 1851 + & 762 & 12 & [ 12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 118 & 690.26 & 11142.2 & & & 2375 + & 57 & 4 & [ 0,2,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 ] & 146 & 15.003 & 108.725 & & & 186 + & 105 & 7 & [ 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 169 & 20.95 & 158.525 & & & 211 + & 182 & 9 & [ 6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 195 & 31.558 & 311.125 & & & 304 + & 186 & 11 & [ 11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 272 & 61.55 & 328.45 & & & 364 + & 201 & 14 & [ 14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 319 & 300.1 & 374.2 & & & 409 + & 204 & 9 & [ 9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 284 & 63.721 & 394.55 & & & 427 + & 254 & 9 & [ 8,0,0,0,1,0,0,0,0,0,0,0,0,0,0 ] & 378 & 153.266 & 635.725 & & & 599 + & 259 & 10 & [ 7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 295 & 72.789 & 653.9 & & & 530 + & 263 & 10 &[ 6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 294 & 69.81 & 695.8 & & & 612 + s20(2 ) & 274 & 9 & [ 4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 336 & 172.839 & 751.05 & 11703.9 & 585.1952 & 587 + & 275 & 11 & [ 8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 414 & 217.261 & 798.075 & & & 702 + & 294 & 8 & [ 5,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 359 & 396.194 & 915.575 & & & 612 + & 295 & 11 & [ 8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 488 & 2342.7 & 975.65 & & & 802 + & 298 & 12 & [ 12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 463 & 174.03 & 990.675 & & & 773 + & 307 & 10 & [ 6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 391 & 187.431 & 1084.4 & & & 808 + & 338 & 13 & [ 13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 484 & 432.837 & 1546.65 & & & 1001 + & 367 & 14 & [ 14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 608 & 2000.37 & 2113.475 & & & 1248 + & 393 & 12 & [ 3,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 658 & 2531.045 & 2889.325 & & & 1502 + & 417 & 11 & [ 5,0,2,0,0,0,0,0,0,2,3,0,0,0,0,0,0,0,0,0 ] & 563 & 1093.34 & 3737.325 & & & 1686 + & 431 & 14 & [ 6,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 781 & 1367.11 & * & & & * + & 85 & 4 & [ 0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 147 & 25.646 & 341.175 & & & 230 + & 298 & 15 & [ 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 316 & 99.513 & 864.5 & & & 455 + & 333 & 15 & [ 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 322 & 91.273 & 1007.75 & & & 465 + & 342 & 16 & [ 16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 326 & 99.809 & 1026.075 & & & 466 + & 349 & 16 & [ 16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 307 & 76.393 & 1075.375 & & & 512 + & 358 & 15 & [ 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 324 & 86.003 & 1092.975 & & & 480 + & 401 & 12 & [ 10,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 394 & 154.683 & 1372.975 & & & 631 + & 415 & 16 & [ 16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 448 & 293.327 & 1474 & & & 687 + & 462 & 15 & [ 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 361 & 135.922 & 1827.75 & & & 691 + s20(3 ) & 480 & 14 & [ 14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 527 & 261.581 & 1982.85 & 8912.075 & 445.6038 & 786 + & 556 & 16 & [ 16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 610 & 592.666 & 2975.05 & & & 1028 + & 569 & 18 & [ 18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 695 & 2453.98 & 3284.75 & & & 1158 + & 583 & 19 & [ 19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 711 & 1496.19 & 3440.55 & & & 1164 + & 609 & 15 & [ 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 57 & 11.671 & 4037.25 & & & 1290 + & 619 & 13 & [ 12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 912 & 990.061 & 4518.725 & & & 1386 + & 708 & 18 & [ 18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 582 & 569.397 & * & & & * + & 710 & 15 & [ 11,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 733 & 673.064 & * & & & * + & 752 & 18 & [ 18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 777 & 722.174 & * & & & * + & 821 & 21 & [ 18,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 108 & 35.333 & * & & & * + & 853 & 21 & [ 19,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 108 & 43.389 & * & & & * + & 81 & 5 & [ 0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 140 & 17.706 & 219.175 & & & 214 + & 107 & 6 & [ 6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 176 & 27.955 & 264.375 & & & 251 + & 168 & 9 & [ 7,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 185 & 26.037 & 416.725 & & & 291 + & 194 & 9 & [ 6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 239 & 57.189 & 527.75 & & & 427 + & 230 & 8 & [ 4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 186 & 39 & 707.575 & & & 471 + & 236 & 9 & [ 7,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 198 & 49.312 & 735.875 & & & 474 + & 274 & 9 & [ 8,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 284 & 524.051 & 1027.225 & & & 590 + & 277 & 9 & [ 7,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 276 & 113.266 & 1079.7 & & & 679 + & 286 & 9 & [ 6,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 321 & 676.315 & 1143.675 & & & 698 + s20(4 ) & 290 & 8 & [ 1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 312 & 1775.88 & 1177.15 & 11215.3 & 560.7652 & 630 + & 305 & 10 & [ 7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 256 & 188.763 & 1345.125 & & & 683 + & 310 & 10 & [ 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 297 & 85.818 & 1407.6 & & & 704 + & 348 & 10 & [ 7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 403 & 392.226 & 2039.675 & & & 953 + & 351 & 11 & [ 11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 432 & 193.712 & 2079.4 & & & 949 + & 366 & 10 & [ 9,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 383 & 295.208 & 2346.175 & & & 912 + & 379 & 10 & [ 3,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 296 & 1007.8 & 2735.2 & & & 1116 + & 396 & 11 & [ 10,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 560 & 3095.66 & 3283.85 & & & 1222 + & 416 & 12 & [ 12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 541 & 693.549 & * & & & * + & 521 & 14 & [ 14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 611 & 955.771 & * & & & * + & 583 & 14 & [ 14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 982 & 1000.085 & * & & & * + & 101 & 8 & [ 0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 57 & 8.393 & 488.75 & & & 246 + & 141 & 7 & [ 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 146 & 33.759 & 567.975 & & & 260 + & 279 & 12 & [ 12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 99 & 23.478 & 1170.65 & & & 502 + & 314 & 10 & [ 10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 199 & 68.421 & 1328.55 & & & 457 + & 329 & 11 & [ 7,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 85 & 17.706 & 1428.15 & & & 461 + & 369 & 11 & [ 5,5,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 106 & 25.178 & 1747.875 & & & 493 + & 399 & 11 & [ 7,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 156 & 90.957 & 2166.55 & & & 711 + & 425 & 11 & [ 5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 65 & 26.208 & 2477.4 & & & 718 + & 438 & 13 & [ 13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 115 & 37.799 & 2648.8 & & & 732 + s20(5 ) & 447 & 15 & [ 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 60 & 11.342 & 2771.675 & 10007.05 & 500.3524 & 808 + & 477 & 14 & [ 14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 138 & 51.901 & 3357.7 & & & 929 + & 501 & 16 & [ 16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 40 & 7.425 & 3884.325 & & & 1026 + & 534 & 12 & [ 12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 180 & 145.075 & 4557.05 & & & 983 + & 536 & 14 & [ 14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 83 & 23.15 & 4752.25 & & & 1090 + & 555 & 13 & [ 9,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 166 & 63.804 & 5404.225 & & & 1190 + & 574 & 13 & [ 13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 345 & 777.094 & * & & & * + & 620 & 14 & [ 14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 721 & 654.063 & * & & & * + & 727 & 18 & [ 18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 882 & 2140.435 & * & & & * + & 786 & 17 & [ 17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 734 & 3000.11 & * & & & * + & 871 & 17 & [ 17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ] & 813 & 2800.75 & * & & & * +  from the computational tests we can assert that our method improves the current algorithm implemented in gap used to compute the invariant of a numerical semigroup because several reasons :  * the cpu times of our algorithm are much smaller than the brute force implementation in gap . observe that the average quotient between and is . * our algorithm avoids the complete enumeration of the set of non - dominated solutions of .note that the average percentage of explored solutions ( ) with respect to the number of non - dominated solutions ( ) is while in gap the 100% of the solutions are explored .the algorithm proposed in also needs to compute a large number of solutions to obtain the invariant , so although we have not explicitly compared the running times with this method , our algorithm only searches a part of the efficient solutions and then , it must take much smaller cpu times .* algorithm [ alg:1 ] is able to compute the invariant of the whole battery of experiments while the gap method was not able to solve 14 problems ( * ) .in this paper we propose a new methodology , based on discrete optimization tools , to compute a specific arithmetic invariant for numerical semigroups .we use a result in ( theorem [ theo : omega ] ) to translate the algebraic problem to the problem of optimizing a linear function over the non - dominated solutions of a multiobjective integer linear program that is basically a knapsack - type problem .then , an adaptation of the methodology in is applied to compute more efficiently than the current methods , the invariant of a numerical semigroup . the key here is to avoid the complete enumeration of the non - dominated solutions of the multiobjective problem to solve the problem .the algorithm may be improved by using better bounds or by adding more information to the problem .it is here where bidirectional improvements in both fields , optimization and commutative algebra , may help to have better computational results .note that the proposed methodology can be adapted conveniently to compute the invariant of some other commutative semigroups .in particular , in the case when the semigroup is defined by a system of linear diophantine equations , like in full and affine semigroups ( also called saturated semigroups ) , from theorem [ theo : omega ] a similar result than the one in theorem [ theo:1 ] can be derived but where the feasible region consists of several equations instead of the knapsack type equation . for those semigroups , can also be adapted algorithm [ alg:1 ] to compute the invariant .furthermore , some other arithmetic invariant , as the tame degree , should also be modeled as a discrete optimization problem , and optimization techniques can help to solve more efficiently these problems .the analysis of different arithmetic invariant by discrete optimization is left for further research .different approaches but also using tools from operational research may be used to solve problems for numerical semigroups such as the computation of minimal decomposition of a numerical semigroup into irreducible numerical semigroups or to define new indices that can be defined as optimal values of a linear objective function over the kunz s polytope .we hope that this paper is the first of many bidirectional collaborations between the fields of algebra and operation research .the two fields seem to be very different from each other , but that may help to get new results in both areas and to understand with different viewpoints notions that usually live in one of them .blanco , v. , garca - snchez , p.a . , and geroldinger , a. ( 2010 ) ._ semigroup - theoretical characterizations of arithmetical invariants with applications to numerical monoids and krull monoids_. submitted .arxiv:1006.4222[math.ac ] .conti , p. and traverso , c. ( 1991 ) ._ buchberger algorithm and integer programming _ , in proceedings of the aaecc-9 , new orleans , lect .notes comput .539 , h. f. mattson , t. mora , and t. r. n. rao , eds . , springer , new york , 1991 , pp . 130139 .cornujols , g. and dawande , m. ( 1999 ) . _ a class of hard small 0 - 1 programs_. informs journal on computing vol .2 , spring 1999 , pp . 205210 .delgado , m. , p. a. garca - snchez , p.a ., morais , j. `` numericalsgps '' : a gap package on numerical semigroups .( http://www.gap-system.org/packages/numericalsgps.html ) .chapman , s.t ., garca - snchez , p.a . , and llena , d. ( 2009 ) ._ the catenary and tame degree of numerical monoids _ , forum math . * 21 * ( 2009 ) , 117 129 .de loera , j.a , haws , d. , hemmecke , r. , huggins , p. , sturmfels , b. , and yoshida , r. ( 2004 ) ._ short rational functions for toric algebra and applications_. journal of symbolic computation , vol .38 , 2 , 959973 .de loera , j.a . ,hemmecke , r. , kppe , m. ( 2009 ). _ pareto optima of multicriteria integer linear programs_. informs journal on computing 21 , no .ecker , j. , kouada , i. ( 1975 ) ._ finding efficient points for linear multiple objective programs_. mathematical programming 8 , 375377 .ehrgott , m. and gandibleux , x. ( editors ) ( 2002 ) ._ multiple criteria optimization_. state of the art annotated bibliographic surveys .boston , kluwer .geroldinger , a. and kainrath , f. ( 2010 ) ._ on the arithmetic of tame monoids with applications to krull monoids and mori domains _ , j. pure applalgebra , to appear .jorge , j. ( 2009 ) , _ an algorithm for optimizing a linear function over an integer efficient set _ , european journal of operational research 195 , 88103 .lasserre , j. b. ( 2004 ) ._ integer programming , barvinok s counting algorithm and gomory relaxations_. oper .32(2 ) : 133 - 137 ( 2004 ) .marcotte , o. , soland , r.m .an interactive branch - and - bound algorithm for multiple criteria optimization .management science 32 6175 .nguyen , n.c .( 1992 ) . _an algorithm for optimizing a linear function over the integer efficient set _ , konrad - zuse - zentrum fur informationstechnik berlin , november 1992 .available at http://opus.kobv.de/zib/volltexte/1992/92/pdf/sc-92-23.pdf .nemhauser , g. , wolsey , l. ( 1988 ) . _ integer and combinatorial optimization_. john wiley & sons .rosales , j.c . and garca - snchez , p.a .( 2009 ) , _ numerical semigroups _ ,springer , 2009 .schrijver , a. ( 1998 ) ._ theory of linear and integer programming_. john wiley & sons , 1998 , isbn 0 - 471 - 98232 - 6 .ulungu , e. and teghem , j. ( 1995 ) .the two - phases method : an efficient procedure to solve biobjective combinatorial optimization problems , foundations of computing and decision sciences 20(2 ) , 149165 .villarreal , b. and karwan , m.h .multicriteria dynamic programming with an application to the integer case . journal of optimization theory and applications .pp 43 - 69 .yamamoto , y. ( 2002 ) ._ optimization over the efficient set : overview_. j. of global optimization 22 , 1 - 4 ( jan . 2002 ) , 285 - 317 zionts , s. ( 1979 ) .a survey of multiple criteria integer programming methods. annals of discrete mathematics 5 , 389398 .

Abstract: in this paper we present a mathematical programming formulation for the invariant of a numerical semigroup for each of its minimal generators . the model consists of solving a problem of optimizing a linear function over the efficient set of a multiobjective linear integer program . we offer a methodology to solve this problem and we provide some computational experiments to show the applicability of the proposed algorithm .


as computational grids [ 1 ] become more widespread , both the resource pool and the pool of users wishing to use those resources become large and tend to change dynamically . in such an environment ,the traditional mode of resource sharing , requiring grid users to establish direct relationships with resources they wish to use ( i.e. in the form of user accounts ) , becomes unmanageably complex .we therefore observe a trend toward defining virtual organizations ( vos ) [ 1 ] allowing users to collaborate across different administrative domains .credentials issued by such organizations , used in conjunction with resource provider policies , become the basis of sharing in grids . in this model ,resource providers typically outsource some subset of their policy administration to the vo .this strategy allows the vo to coordinate policy across resources in different domains forming a consistent policy environment in which its participants can operate .such an environment requires mechanisms for enabling the vo to specify and enforce vo - specific policies on tasks and resources owned by vo participants .another developing trend is the need to express and enforce fine - grain policies on the usage of resources and services .these can no longer be expressed by simple access control ; resource owners and vo administrators may want to specify exactly what fractions or configurations of resource may be used by a given entity . in addition , while some vos are focused on sharing of hardware resources ( e.g. , cpus and storage ) , for others the primary motivation is to coordinate sharing of application services [ 2 ] requiring access to both software and hardware . in these casesthe vo members should not be running arbitrary code but only applications sanctioned by vo policy .such policies may be dynamic , adapting over time or even changing during application execution , depending on factors such as past and current resource utilization record , a member s role in the vo , deadline - based priorities .  in this paper, we address the requirements posed by these two trends .we present a design for service and resource management that enables a vo and resource managers to specify fine - grained service and resource usage policies using vo credentials and allows resources to enforce those policies .we implement our design as extensions to the globus toolkit version 2 ( gt2 ) resource management mechanism [ 3 ] .we then consider policy enforcement in the context of two types of policy target : application services and traditional computing resources .a prototype of this implementation , combined with the akenti authorization system [ 4 ] , was demonstrated at the sc02 conference and is currently being adopted by the national fusion collaboratory [ 2 ] .this paper is organized as follows . in section 2 ,we present a use case scenario and concrete requirements guiding our design . in section 3we define our problem .we follow this by a discussion of the capabilities of the globus toolkit s resource management ( gram ) [ 3 ] mechanism ( section 4 ) and describe extensions needed to gram to support our architecture ( section 5 ) . in the last three sections , we analyze our solution , present future directions , and conclude the paper .in a typical vo scenario , a resource provider has reached an agreement with a vo to allow the vo to use some resource allocation .the resource provider thinks of the allocation in a coarse - grained manner : the provider is concerned about how many resources the vo can use as a whole , not about how allocation is used inside the vo .the finer - grained specification of resource usage among the vo participants is the responsibility of the vo .for example , the vo has two primary classifications of its members :  1 .one group is developing , installing , and debugging the application services used by the vo to perform a scientific computation .this group may need to run many types of processes ( e.g. , compilers , debuggers , applications services ) in order to debug and deploy the vo application services , but should be consuming small amounts of traditional computing resources ( e.g. , cpu , disk and bandwidth ) in doing so .2 .  the second group performs analysis using the application services .this group may need to consume large amounts of resources in order to run simulations related to their research .thus , the vo may wish to specify finer - grained policies that allow certain users to use more or fewer resources than other users .these policies may be dynamic and change at any point ( for example , during runtime of an application ) .in addition to policy on resource utilization , the vo wishes to be able to manage jobs running on vo resources .for example , users often have long - running computational jobs using vo resources , which the vo often has short - notice high - priority jobs that require immediate access to resources .this mode of operation requires suspending existing jobs to free up resources , something that normally only the user that submitted the job has the right to do . since going through the user who submitted the original jobmay not always be an option , the vo wants to give a group of its members the ability to manage any jobs using vo resources so they can instantiate high - priority jobs on short notice .  supporting this scenario places several requirements on the authorization policy system :  1 .  _combining policies from different sources_. in outsourcing a portion of the policy administration to the vo , the policy enforcement mechanism on the resource needs to be able to combine policies from two different sources : the resource owner and the vo .fine - grained control of how resources are used_. for the vo to express the differences between how its user groups are allowed to use resources , the vo needs to be able to express policies regarding a variety of aspects of resource usage , not just grant access ._ vo - wide management of jobs and resource allocations_. the vo wants to be able to treat jobs as resources themselves that can be managed .this requirement poses a particular challenge because jobs are dynamic , so static methods of policy management are not effective .users may also start jobs that should nt be under the domain of the vo ; for example , a user may have allocations on a resource other than those obtained through the vo , and jobs invoked under this alternate allocation should not be subject to vo policy .4 .  _ fine - grained , dynamic enforcement mechanisms_. in order to support any policies , there must be enforcement mechanisms capable of implementing these policies .most resources today are capable of policy enforcement at the user level : that is , all jobs run by a given user will have the same policy applied to them .these mechanisms are typically statically configured through file permissions , quotas and similar mechanisms .our scenario brings out the requirement that enforcement mechanisms need to handle dynamic , fine - grained policies .to support the scenario described in the preceding section , we need to provide resource management mechanisms that allow the specification and consistent enforcement of authorization and usage policies that come from both the vo and the resource owner .in addition to allowing the vo to specify policies on standard computational resources , such as processor time and storage , we need to allow the vo to specify policies on application services that it deploys , as well as long - running computational jobs instantiated by vo members .  in our work we assume the following interaction model :  1 .a user submits a request , composed of the job s description to initiate a job .the request is accompanied by the user s grid credentials , which may include the user s personal credentials as well as vo - issued credentials .this request is evaluated against both local and vo policies by different policy evaluation points ( peps ) , capable of interpreting the vo and the resource management policy respectively , located in the resource management facilities .if the request is authorized by both peps , it is mapped to a set of local resource credentials ( e.g. , a unix user account ) .policy enforcement is carried out by local enforcement mechanisms operating based on local credentials .4 .  during the job execution , a vouser may make management requests to the job ( e.g. , request information , suspend or resume a job , cancel a job ) .the globus toolkit provides mechanisms for security , data management and movement , resource monitoring and discovery ( mds ) and resource acquisition and management . in this paperwe are focusing on the functionality of resource acquisition and management , which is implemented by the gram ( grid resource acquisition and management ) system [ 3 ] .the gram system has two major software components : the gatekeeper and the job manager .the gatekeeper is responsible for translating grid credentials to local credentials ( e.g. , mapping the user to a local account based on their grid credentials ) and creating a job manager instance to handle the specific job invocation request .the job manager instance ( jmi ) is a grid service that instantiates and then provides for the ability to manage a job .figure 1 shows the interaction of these elements ; in this section we explain their roles and limitations .the gatekeeper is responsible for authenticating the requesting grid user , authorizing their job invocation request and determining the account in which their job should be run .authentication , performed by the grid security infrastructure [ 5 ] , verifies the validity of the presented grid credentials , the user s possession of those credentials , and the user s grid identity as indicated by those credentials .authorization is based on the user s grid identity and a policy contained in a configuration file , the gridmapfile , which serves as an access control list .mapping from the grid identity to a local account is also done with the policy in the gridmapfile , effectively translating the user s grid credential into a local user credential .finally , the gatekeeper starts up a job manage instance , executing with the user s local credential .this mode of operation requires the user to have an account on the resource and implements enforcement by privileges of the account .the jmi parses the user s request , including the job description , and interfaces with the resource s job control system ( e.g. , lsf , pbs ) to initiate the user s job . during the job s execution the jmi monitors its progress and handles job management requests ( e.g. , suspend , stop , query ) from the user .since the jmi is run under the user s local credential , as defined by the user s account , the operating system and local job control system are able to enforce local policy on the jmi and user job by the policy tied to that account .the jmi has no authorization on job startup since the gatekeeper has already authorized it .once the job has been started however , the jmi accepts , authenticates , and authorizes management requests on the job . in gt2 ,the authorization policy on these management requests is static and simple : the grid identity of the user making the request must match the grid identity of the user who initiated the job .the current gram architecture has a number of shortcomings when matched against the requirements we laid out in section 2 :  1 .authorization of user job startup is coarse - grained .it is based solely on whether a user has an account on a resource .2 .  authorization on job management is coarse - grained and static . only the user who initiated a job is allowed to manage it .enforcement is implemented chiefly through the medium of privileges tied to a statically configured local account ( jmi runs under local user credential ) and is therefore useless for enforcing fine - grained policy or dynamic policy coming from sources external to the resource ( such as a vo ) .4 .  local enforcement depends on the rights attached to the user s account , not the rights presented by the user with a specific request ; in other words , the enforcement vehicle is largely accidental .a local account must exist for a user ; as described in the introduction , this creates an undue burden on system administrators and users alike .this burden prevents wide adoption of the network services model in large and dynamically changing communities .these problems can , and have been , in some measure alleviated by clever setup . for example , the impact of ( 4 ) can be alleviated by mapping a grid identity to several different local accounts with different capabilities .often , ( 5 ) is handled by working with `` shared accounts '' ( which , however , introduce many security , audit , accounting and other problems ) or by providing a limited implementation of dynamic accounts [ 6,13,14 ] .in this section we describe extensions to the gt2 grid resource acquisition and management ( gram ) that address the shortcomings described above .we extended the gram design to allow authorization callouts , evaluating the user s job invocation and management requests in the context of policies defined by the resource owner and vo .our changes to gram , prototyped using gt2 , are illustrated in figure 2 . in our prototypewe experimented with policies written in plain text files on the resource .these files included both local resource and vo policies ( in a real system the vo policies would be carried in the vo credentials ) .this work has recently been tested with the akenti [ 4 ] system , representing the same policies as described here , and is being adopted by the national fusion collaboratory [ 2 ] . in order to show the generality of our approach , we also experimented with the community authorization service ( cas ) [ 7 ] . both of these systems allow for multiple policies sources but have significant differences , in terms of both architecture and programming apis .gram allows users to start and manage jobs by submitting requests composed of an action , ( e.g. , initiate , cancel , provide status , change priority ) and , in the case of job initiation , a job description .the job description is formulated in terms of attributes using the resource specification language ( rsl ) [ 3 ] .rsl consists of attribute value pairs specifying job parameters referring to executable description ( executable name , directory where it is located , etc . ) and resource requirements ( number of cpus to be used , maximum / minimum allowable memory , maximum time a job is allowed to run , etc . ) .we have designed a simple policy language that allows for policy specification in terms of rsl .the policy assumes that unless a specific stipulation has been made , an action will not be allowed .otherwise , a user , or a group of users , is related to a set of assertions .the rules have the form of user ( or group ) identity separated by a colon from a set of action based assertions that follow the rsl syntax .to express the rules , we extended the rsl set of attributes with the addition of the following :  1 ._ this attribute represents what the user wants to do with the job .currently , it can take values of `` start '' , `` cancel '' , `` information '' , or `` signal '' , where `` signal '' describes a variety of job management actions such as changing priority .2 .  _ jobowner . _the jobowner attribute denotes the job initiator and can take values of the distinguished name of a job initiator s grid credential .it is used mainly to express vo - wide management policy ._ jobtag . _the jobtag attribute has been introduced in order to enable the specification of vo - wide job management policies .a jobtag indicates the job membership in a group of jobs for which policy can be defined .for example , a set of users with an administrative role in the vo can be granted the right to manage all jobs in a particular group .a policy may require a vo user to submit a job with a specific jobtag , hence placing it into a group that is manageable by another user ( or group of users ) .at present , jobtags are statically defined by a policy administrator .we also added the following values to rsl :  1 .  null to denote a nonempty value 2 . self to allow expression of the job initiator s identity in a policy .these extensions allow the following types of assertions to be expressed in policy :  1 .the job request is permitted to contain a particular attribute , value , or set of values .this extension allows one , for example , to limit the maximum number of processors used or to restrict the name of the executable to a specified set .multiple assertions can be made about the same attribute .the job request is required to contain a particular attribute , possibly with a particular value or set of values .for example , the job request must specify a jobtag attribute to allow its management by a vo - defined group of administrators .the job request is required not to contain a particular attribute .for example , the job request must not specify a particular queue , which is reserved for high - priority users .our extensions allow a policy not only to limit the usage of traditional computational resources but also to dictate the executables they are allowed to invoke , allowing a vo to limit resource consumption .further , by introducing the notion of a jobtag , we are able to express policies allowing users to manage jobs .the example below illustrates how policy may be expressed .  .... & /o = grid / o = globus / ou = mcs.anl.gov :  ( action = start)(jobtag != null )  /o = grid / o = globus / ou = mcs.anl.gov / cn= bo liu : & ( action = start)(executable = test1)(directory =/sandbox / test)(jobtag = ads)(count<4 ) & ( action = start)(executable = test2)(directory = /sandbox / test)(jobtag = nfc)(count<4 )/o = grid / o = globusou = mcs.anl.gov / cn= katekeahey : & ( action = start)(executable = transp)(directory = /sandbox/ test)(jobtag = nfc ) & ( action = cancel)(jobtag = nfc ) ....  the first statement in the policy specifies a requirement for a group of users whose grid identities start with the string `` /o = grid / o = globus / ou = mcs.anl.gov '' .the requirement is that for job invocations ( where the action is `` start '' ) , the job description must contain a jobtag attribute with some value .this allows us to later write management policies referring to that jobtag .the second statement in the policy refers to a specific user , bo liu , and states that she can start jobs only using the `` test1 '' and `` test2 '' executables .the rules also place constraints on the directory from which the executable can be taken and the jobtag they can be started with .in addition , a constraint is placed on the number of processors bo liu can use ( ) .the third statement in the policy gives user kate keahey the right to start jobs using the `` transp '' executable from a specific directory and with a specific jobtag .it also gives her the right to cancel all the jobs with jobtag `` nfc '' , for example , jobs based on the executable `` test1 '' started by bo liu .we enforce our policies in gram by creating a policy evaluation point ( pep ) controlling all external access to a resource via gram ; an action is authorized depending on decision yielded by the pep .policy can be enforced in gram at multiple peps corresponding to different decision domains ; for example , a pep placed in the gatekeeper can allow or disallow access based on the user s grid identity . since our work focuses on job and resource management , we established a pep in the job manager ( jm ) .the jm parses user job descriptions and can therefore evaluate policy that depends on the nature of the job request in addition to the user s identity .specifically , our additions consist of the following :  1 .  _an authorization callout api to integrate the pep with the jm_. the callout passes to the pep authorization module the relevant information , such as the credential of the user requesting a remote job , the credential of the user who originally started the job , the action to be performed ( such as start or cancel a job ) , a unique job identifier , and the job description expressed in rsl .the pep responds through the callout api with either success or an appropriate authorization error .this call is made whenever an action needs to be authorized , that is , before creating a job manager request and before calls to cancel , query , and signal a running job .policy - based authorization for job management_. as discussed in section 4 , each job management request other than job startup is currently authorized by gram so that only the user that started a job is allowed to manage it .we modified the authorization in gram to enable grid users other than the job initiator to manage the job based on policy with decisions rendered through the authorization callout api .in addition to changes to the authorization model , this modification also required extensions to the gram client allowing the client to process other identities than that of the client ( specifically , allowing it to recognize the identity of the job originator ) .rsl parameters_. we extended rsl to add the `` jobtag '' parameter allowing the user to submit a job to a specific job management group .errors_. we further extended the gram protocol to return authorization errors describing reasons for authorization denial as well as authorization system failures .for easy integration of third - party authorization solutions , the callout api provides facilities for runtime configurable callouts .callouts can be configured either through a configuration file or an api call .configuration consists of specifying an abstract callout name , the path to the dynamic library that implements the callout , and the symbol for the callout in the library .callouts are invoked through runtime loading of dynamic libraries using gnu libtool s dlopen - like portability library .arguments to the callout are passed by using the c variable argument list facility .the insertion of callout points into jm required defining a gram authorization callout type , ( i.e. , an abstract callout type ) , the exact arguments passed to the callout , and a set of errors the callout may return .these callout points are configured by parsing a global configuration file .our solution overcame some of the shortcomings outlined in section 4.3 .however our approach has a number of outstanding issues that we discuss in this section .a weakness of the gateway approach is that once a gateway authorizes an action ( for example , a job execution ) it is no longer involved in the continuous enforcement of the policy .gram maps incoming requests to static local accounts to perform this continuous policy enforcement .this has two consequences : ( 1 ) the local policy enforcement depends on the privileges tied to the account that the user maps to on the local system , rather than to the credential with which the request was made , and ( 2 ) gram s abilities for continuous policy enforcement are limited by local capabilities for policy enforcement .the first limitation could to some extent , be dealt with by using dynamic accounts [ 6,13,14 ] .dynamic accounts are accounts created and configured on the fly by a resource management facility .this enables the resource management system to run jobs on a system for users that do not have an account on that system , and it also enables account configuration relevant to policies for a particular resource management request as opposed to a static user s configuration . to some extenta dynamic account can be also used as a sandbox on the user s rights ( by modifying user s group membership to control file system access , for example ) .although work has been done to support fine - grained policy for file access [ 8 ] , unix accounts allow the user to modify only very few configuration parameters , and hence the enforcement implemented in an account is coarse - grained .a sandbox is an environment that imposes restrictions on resource usage [ 9,15,16 ] .sandboxing represents a strong enforcement solution , having the resource operating system act as the policy evaluation and enforcement modules , and is complementary to the gateway approach .however , while the sandboxes provide a solution with relatively high degree of security , they are hard to implement portably and may introduce a performance penalty .   in the gram architecture ,the job manager runs with the user s local credentials ; this approach makes the job manager less than ideal for policy enforcement .the reasons are twofold .first , from the security perspective it is vulnerable to user tampering that could result in changes in policy enforcement .second , it effectively limits enforcement potential for vo - wide job management .for example , a user managing a job may cancel a job started by somebody else ( by virtue of the fact that the job manager is running with the job initiator s local credential ) , but the user may not apply higher resource rights to , for example , raise the job s priority .one possible solution to this problem in the context of the gram architecture would be to locate the policy enforcement point in the gatekeeper .however , this would increase the vulnerability of the system by placing more complex code into the trusted component of the system , increasing chances for logic errors , buffer overflows , and so forth.  another possibility would be for policy enforcement to be done by trusted services such as the local operating system .as discussed earlier , this is difficult today because most operating systems do not have the support for fine - grained policies that we require .investigation into sandboxing techniques remains an open research issue .our implementation currently expresses policy in terms of the same resource specification language ( rsl ) that gram uses to describe jobs .while this allows for easy comparison of a job description with a policy , it is not a standard policy language .policy administrators are not familiar with rsl , and our initial experiences show that expressing policies in these terms is not natural to this community .this difficulty is compounded by the fact that the syntax is not be supported by standard policy tools .we are therefore investigating existing policy languages as a replacement to our rsl - based scheme . with the merging of grid technologies and web service - based technologies in ogsa[10 ] , languages based on xml , such as xacml [ 11 ] and xrml [ 12 ] , are being scrutinized by the grid security community in general and are viable candidates .our work could be applied to systems similar to the globus toolkit based on its relevance .for example , legion authorization is implemented by the use of a mayi [ 20 ] method on all legion objects . in the default implementation , this method offers similar functionality as the globus toolkit , with access control lists and static mapping to local accounts .our work could be integrated with legion in a similar manner as we described here , through the reimplementation of object creation routines ( legion s equivalent of gram ) and the mayi method .condor s [ 21 ] interface on the other hand , is based more on compute resources than instantiated jobs .although it also uses access control lists to manage its policy , it does not provide the per - job interface of gram and legion .this makes our work less relevant to that system .to address the open issues summarized above , we are developing an architecture building on abstractions and mechanisms defined as part of the open grid services infrastructure ( ogsi ) [ 17 ] .the key to the policy enforcement questions is the implementation of an abstraction that would allow for dynamic creation and management of a local protection environment ( such as a unix account , a sandbox [ 9,15,16 ] , or a virtual machine [ 18 , 19 ] ) .such abstraction would not only provide protection but also facilitate resource management ( by enforcing limits on resource usage for a particular user ) and maintain state associated with its owner .we will call such an abstraction a _ dynamic session_.  the ogsi abstractions of grid service and grid service factory are suitable for this task of implementing such abstraction . representinga session as a gird service will provide uniform management capabilities across different technologies that could be used to implement sessions .standardizing session creation alleviates the administrative burden involved in adding users to a vo , and it also allows session creation based on rights granted to a particular user at a specific time . to manage dynamic sessions, we can leverage the ogsi service data element ( sde ) mechanism in order to make the properties of a session ( such as its termination time ) accessible to the session owner and modifiable by him or her .  in a typical interaction ,a user requests a session with certain properties ( i.e. , resource requirements ) from a session factory .the factory authorizes the request and , on success , creates dynamic session service and a local protection environment corresponding to it . as part of the creation process, policy defining sharing rights for the session is written .this policy can be modified by authorized entities during the service s lifetime , as can other session properties .the user can submit against that session , pending conformance with the rights just created .further , to facilitate management of sessions that do not have to be reused multiple times ( i.e. , do not preserve state between the times when they get used ) , the resource management service can obtain sessions based on credentials presented by the user requesting job submission or credentials of the resource manager itself .we have described the design and implementation of an authorization system allowing for enforcement of fine - grained policies and vo - wide management of remote jobs . to implement this design , we have proposed changes to the globus toolkit gram design and have designed a policy language suitable for our needs .we are planning to use the same mechanism to provide pluggable authorization in other components of the globus toolkit .we are pleased to acknowledge contributions to this work by mary thompson of lbnl .1 .  foster , i. , c. kesselman , and s. tuecke , the anatomy of the grid : enabling scalable virtual organizations . international journal of high performance computing applications , 2001 .15(3 ) : p. 200 - 222 . 2 .keahey , k. , t. fredian , q. peng , d.p .schissel , m. thompson , i. foster , m. greenwald , and d. mccune , computational grids in action : the national fusion collaboratory .future generation computing systems ( to ap - pear ) , october 2002 .18(8 ) : p.1005 - 1015 . 3 .czajkowski , k. , i. foster , n. karonis , c. kesselman , s. martin , w. smith , and s. tuecke , a resource management architecture for meta - computing systems , in 4th workshop on job scheduling strategies for parallel processing .1998 , springer - verlag .p. 62 - 82 .4 .  thompson , m. , w. johnston , s. mudumbai , g. hoo , k. jackson , and a. essiari , certificate - based access control for widely distributed resources , in proc .8th usenix security symposium . 1999 .butler , r. , d. engert , i. foster , c. kesselman , s. tuecke , j. volmer , and v. welch , design and deployment of a national - scale authentication infrastructure .ieee computer , 2000 .33(12 ) : p. 60 - 66 . 6 .dynamic accounts .http://www.gridpp.ac.uk / gridmapdir/. 7 .pearlman , l. , v. welch , i. foster , c. kesselman , and s. tuecke , a community authorization service for group collaboration .in ieee workshop on policies for distributed systems and networks . 2002 . 8 .lorch m. and d. kafura , supporting secure ad - hoc user collaboration in grid environments . in proceedings of the 3rd int .workshop on grid computing - grid 2002 , baltimore , md , usa . 2002 .chang , f. , a. itzkovitz , and v. karamacheti , user - level resource - constrained sandboxing .proceedings of the usenix windows systems symposium ( previously usenix - nt ) , 2000 . 10 .foster , i. , c. kesselman , j. nick , and s. tuecke , the physiology of the grid : an open grid services architecture for distributed sys - tems integration .open grid service infrastructure wg , global grid forum , 2002 .11 . oasis extensible access control markup language ( xacml ) committee specification 1.0 ( revision 1 ) .http://www.oasis-open.org/committees/xacml/docs/s-xacml-specification-1.0-1.doc , 2002 .hacker , t. and b. athey , a methodology for account management in grid computing environments .proceedings of the 2nd international workshop on grid computing , 2001 . 14 .kapadia , n. h. , r. j. figueiredo , and j. fortes . enhancing the scalability and usability of computational grids via logical user accounts and virtual file systems .in 10th heterogeneous computing workshop . 2001 .san francisco , california .bosilca , g. , f. capello , a. djilali , g. fedak , t. hernault and f. magniette , performance evaluation of sandboxing techniqes for peer - to - peer computing . 16 .goldberg , i. , d. wagner , r. thomas , and e. brewer , a secure environment for untrusted helper applications confining the wily hacker , in proc . 1996 usenix security symposium .1996 . 17 .tuecke , s. , k. czajkowski , i. foster , j. frey , s. graham , and c. kesselman , grid service specification . 2003 : open grid service infrastructure wg , global grid forum . 18 .vmware : http://www.vmware.com/. 19 .user mode linux ( uml ) .http://user - mode - linux.sourceforge.net/. 20 .humphrey , m. , f. knabe , a. ferrari and a. grimshaw , accountability and control of process creation in metasystems .2000 network and distributed system security symposium , 2000 . 21 .`` condor version 6.4.7 manual : security in condor '' , + http://www.cs.wisc.edu/condor/manual/v6.4/3_7security_in.html , 2003 .

Abstract: in this paper we describe our work on enabling fine - grained authorization for resource usage and management . we address the need of virtual organizations to enforce their own polices in addition to those of the resource owners , in regard to both resource consumption and job management . to implement this design , we propose changes and extensions to the globus toolkit s version 2 resource management mechanism . we describe the prototype and the policy language that we designed to express fine - grained policies , and we present an analysis of our solution .