Science topic

Integer Programming - Science topic

Explore the latest questions and answers in Integer Programming, and find Integer Programming experts.
Questions related to Integer Programming
  • asked a question related to Integer Programming
Question
6 answers
How many methods we have for multi-criteria Classification (sorting) problems? Could you please name them?
As I understood we have some methods in the below approaches:
1. Multi-Attribute decision making (ELECTRE-TRI, FlowSort, Promethee IV)
2. Multi-objective decision making
3. Goal programming
4. Linear programming (Integer programming)
5. Supervised methods (UTADIS/Decision tree)
6- Clustering (K-means/K-medoids/2steps/c-means)
Could you please name some more methods which can be applied for multi-criteria classification problems?
Thank you in advance.
Relevant answer
Answer
  • asked a question related to Integer Programming
Question
2 answers
For an Integer Linear Programming problem (ILP), an irreducible infeasible set (IIS) is an infeasible subset of constraints, variable bounds, and integer restrictions that becomes feasible if any single constraint, variable bound, or integer restriction is removed. It is possible to have more than one IIS in an infeasible ILP.
Is it possible to identify all possible Irreducible Infeasible Sets (IIS) for an infeasible Integer Linear Programming problem (ILP)?
Ideally, I aim to find the MIN IIS COVER, which is the smallest cardinality subset of constraints to remove such that at least one constraint is removed from every IIS.
Thanks for your time and consideration.
Regards
Ramy
  • asked a question related to Integer Programming
Question
7 answers
I am solving Bi-objective integer programming problem using this scalarization function ( F1+ epslon F2). I have gotten all my result correct but it says Cplex can not give an accurate result with this objective function. It says cplex may give approximate non-dominated solution not exact. As I said before, I am very sure that my result is right because I already checked them. Do I need to prove that cplex give right result in my algorithm even sometimes it did mistake in large instance? 
Thanks in advance.
Relevant answer
Answer
Did you code the epsilon constraint method using OPL? May I ask how did you code this? I tried but could not get the right results.
Thanks a lot.
  • asked a question related to Integer Programming
Question
6 answers
Hi all, I'm using CPLEX for solving VRPTW (vehicle routing problem with time window) and observe there is a huge computing time difference even when I change the problem size by just 1. By "problem size", I mean number of nodes inside problem.
For example, for 20 nodes, it took only 20 secs to solve. However, it took more than 1 hour to solve 19 nodes instance. I understand VRPTW is NP-hard and so such phenomenon is expected to happen.
The gap is still too big, I wonder if there is any technique to make computing time more consistent with problem size?
Relevant answer
Answer
Ondřej Benedikt Michael Patriksson Alexandre Frias Faria Adam N. Letchford Thanks all for your valuable insights. I have played more with my instances and find out that it's more related to the structure of my model formulation.
My model needs to determine both routes of vehicles & time-windows of customers given a set of scenarios each of which contains parameters like traveling time. So, it's quite harder than classic VRPTW where time-windows are known.
It's hard for some specific problem size. If I simply ignore these "bad instances", then the solving time indeed increases when problem size grows.
  • asked a question related to Integer Programming
Question
2 answers
Dear all,
As we know, interval matrices are matrices with 0 and 1 entries with the property that the ones in each column (row) are contiguous. Interval matrices are totally unimodular (TU). Hence, the integer programming (IP) problems with such matrices of technical coefficients and can be solved as linear programming problems.
However, in the consecutive-ones with wrap around, the ones are wrapped.
For instance, in the following matrix, the ones are wrapped in columns 4 and 5:
1 0 0 1 1
1 1 0 0 1
1 1 1 0 0
0 1 1 1 0
0 0 1 1 1
This example is not TU with a sub-matrix with determinant 2 (deleting rows and columns 2 and 4).
Two questions:
1- When wrapping does not violate TU property?
2- Is there a general approach to solve IP problems with consecutive ones and wrapping around matrix of technical coefficients, efficiently?
Thank you for your kind help/
Relevant answer
Answer
If all righthand sides are 1, then you can reduce the problem to a series of shortest-path problems:
If not, then you can use the method in this paper:
  • asked a question related to Integer Programming
Question
13 answers
Hi,
I know that PSO is an iterative and evolutionary metaheuristic algorithm but, to save my energy, I have to get some clues about coding it in GAMS.
Is it possible to implemnt it into GAMS or no need to struggle with it?
Regards,
Relevant answer
Answer
I would say don't bother with GAMS if you want to solve your problem using PSO or other metaheuristics. Use MATLAB, C++, Python or something and just code your algorithm. That gives you more flexibility. If your problem is possible to solve with one of the solvers in GAMS, then there is no need for PSO. But otherwise, I suggest writing your own code. You can find some examples on the internet, to make things easier.
  • asked a question related to Integer Programming
Question
8 answers
I am doing my PhD in Mathematics. My research problem is optimization in supply chain management. I am using Mixed Integer programming for framing the model and many constraints are involved.
I am not getting an idea on coding related to Genetic Algorithm for the framed model since multiple constraints are involved.
I have an understanding of basic MATLAB coding.
Relevant answer
  • asked a question related to Integer Programming
Question
12 answers
Any recommendation from a scientific journal to submit a paper on operations research applying linear programming and vehicle routing (VRP) using the B&B algorithm?
Relevant answer
Answer
You can ask your thesis advisor about what journal they think would be best to submit your work. It is hard to suggest a journal for you without seeing the actual paper.
  • asked a question related to Integer Programming
Question
4 answers
I'm dealing with a problem of findings specific graphs with cycles of a given length and there are many isomorphic graphs which makes it difficult for the Integer Programming Model to find the optimal solutions. We have tried modifying the objective function to break symmetry between equivalent solutions and we prohibit certain arcs while searching to narrow the search, but with not enough success.
  • asked a question related to Integer Programming
Question
6 answers
I am currently working on solving an ILP model using a branch and bound method which will be implemented by Matlab and in each node I need to determine an upper bound using Lagrangian relaxation method so I need to solve the dual problem using Cplex and the iterative procedure(to update multipliers) will be also implemented by Matlab.
I will be grateful if anyone had experience integrating Cplex with Matlab in a similar way, could help me?
Relevant answer
Answer
We did that, please check the Media files attached to the following paper: https://ieeexplore.ieee.org/abstract/document/9126175
  • asked a question related to Integer Programming
Question
12 answers
Hello everyone,
We have the following integer programming problem with two integer decision variables, namely x and y:
Min F(f(x), g(y))
subject to the constraints
x <= xb,
y <= yb,
x, y non-negative integers.
Here, the objective function F is a function of f(x) and g(y). Both the functions f and g can be computed in linear time. Moreover, the function F can be calculated in linear time. Here, xb and yb are the upper bounds of the decision variables x and y, respectively.
How do we solve this kind of problem efficiently? We are not looking for any metaheuristic approaches.
I appreciate any help you can provide. Particularly, it would be helpful for us if you can provide any materials related to this type of problem.
Regards,
Soumen Atta
Relevant answer
Answer
The method for solving this problem depends on the properties of functions F, f, g (convex, concave, other properties).
If properties are not known - the only method is looking through all values of variables.
  • asked a question related to Integer Programming
Question
77 answers
I am interested to solve a mathematical problem (MILP) using evolutionary algorithms but confuse about which one to choose as a beginner in the programming languages. Suggest an algorithm easy to implements with better results.
Thanks
Relevant answer
Answer
The response from those who know about both - such as me - is that PSO and other meta things will very unlikely be as robust and accurate as a modern branch-and-bound code. I have always been puzzled why people seem to not be interested in what the optimum actually is - I thought that finding an optimum was the whole idea with using optimisation in the first place!
And yet there are more people here that seem to be content with non-optimal points. I would not be, and therefore I do not use meta things, and instead use tools that guarantee that the final output always is optimal. I have always thought that that is the whole purpose with the use of optimisation tools. But for some I guess not. I can't understand why - it seems to be a waste of time.
  • asked a question related to Integer Programming
Question
3 answers
I want to share my latest working in Grasshopper which may come handy to the new beginners of Grasshopper. First of all Grasshopper comes built in within the latest versions of Rhino i.e. Rhino 6 and Rhino WIP (Work In Progress A.K.A Rhino 7).
While working in Grasshopper in Rhino 5 i came to know that if you connect the panel object having a certain number value to the expressions object you need to double quote the numbers in expression tab as shown in attached figure, but if you use the number slider you do not need to to enclose the numbers in expression object in double quotes to be shown an error free result.
I know it works definitely like this for me for sure due to the trial and error failure attempts :D
Why is is this way and is it the same in Rhino 6 and Rhino 7 as well share your thoughts?
Relevant answer
Answer
In the second algorithm, Grasshopper doesn't recognize the numbers as numbers, it recognized it as string, that's why it's shown in quotation marks.
  • asked a question related to Integer Programming
Question
3 answers
Hello,
If I have 5 hours to wait for GAMS result on Monday and 3 hours on Tuesday, and if I know that the model will be solved after 8 hours first run, is there a way to interrupt GAMS on Monday after 5 hours and run again on Tuesday from where it stops on Monday. So, I will get result on Tuesday but totally within 8 hours.
Thanks
Relevant answer
Answer
There is a section in the user manual related to save and restart. You can check the following link:
  • asked a question related to Integer Programming
Question
6 answers
I have 4 variables in an integer programming. If I define all as integer, solution period is increasing.
If I define 3 of them as positive variables and one of them as integer, model is solved shorter and found same optimal solution. I need all values for all variables as integer.
All parameters and rhs values are integer. I think total unimodular is an effect to make positive variables become integer, but I am not sure about that.
What do you think about this approach? Is it logical to define 3 of them positive variables and 1 of them integer to save time?
Relevant answer
Answer
Soner Demirel , I tell you once again - specify the problem explicitly and you'll surely obtain some helpful advices.
After all, what is you real problem - the very long time of calculations when all the variables are set to be integer? So solve the relaxed problem (without integer constraints) and if you are lucky, you'll obtain an integer optimal solution anyway. Even if not, rounding the real-number solution may work.
As to your example with baking times.
You have a relationship between the three variables (if I understand correctly)
x1-x2=x3
x1, x2, x3 >=0 and integer
In this case x3 is obviously integer as the difference of two integer numbers, so the constraint x3 - integer is redundant. But, in fact, if you replace x3>=0 with x1-x2>=0 (or x1>=x2) then the variable x3 is redundant at all since it can be then replaced anywhere in the model with x1-x2.
  • asked a question related to Integer Programming
Question
9 answers
I have a question regarding making the dual of the MILP model. More precisely, I am working on the job-shop scheduling problem, and I want to have a dual problem of that.
How can I create the dual constraints for integer variables?
Relevant answer
Answer
Temitayo Bankole I am afraid that this procedure only works for LP problems, while I am dealing with the MILP problem, job-shop scheduling.
  • asked a question related to Integer Programming
Question
3 answers
I am looking to solve a Two-Stage Stochastic Mixed-Integer optimization problem in GAMS for a pre- and - post-disaster resource allocation problem.
Relevant answer
Answer
Hi
Here ts my email
  • asked a question related to Integer Programming
Question
9 answers
I have formulated an Integer programming problem with around variables and 30 constraints. I observe that the relaxed LP takes same time to execute (around 5 minutes) as the original IP. How is it possible when Linear programming problem is polynomial time solvable and IP is not?
Relevant answer
Answer
Perhaps your IP is equivalent to an LP - for example single-commodity flows (including shortest path) are solvable as LP.
  • asked a question related to Integer Programming
Question
6 answers
I am looking for references to show that GA solutions do not necessarily converge to optimal solution to defend the use of an integer program, exact solution. I want to criticize heuristic and meta-heuristic algorithm, especially GA.
I think a book might be a good reference but not sure which one to use!
Relevant answer
Answer
The NFL (not to confuse with the National Football League) is not a wild card to implement whatever stuff that comes to mind. Even in the case where an objective function isn't, say, differentiable, but at least Lipschitz continuous we do have an edge over methods that do not require anything - because they guarantee nothing either. I am referring to the flood of metaheuristics that have no natural stopping criteria beyond # iterations. In contrast Lipschitz continuity provides lower bounds that can be profitably utilized in decomposition methods, along the lines of Branch-and-Bound.
  • asked a question related to Integer Programming
Question
9 answers
My problem consists:
1. More than thousand Constraints and Variables
2. It is purely 0-1 programming i.e. all variables are binary.
3. Kindly note that I am not a good programmer.
Please provide me some links of books or videos discussing application of GA in Matlab for solving 0-1 programming with large number of variables and constraints.
I have gone through many YouTube videos but they have taken examples with only two or three variables without integer restrictions.
Relevant answer
Answer
Simple:
1) Open optimization toolbox
2) Select GA solver (and enter your objective function and constraint file detail)
3) Set lower bound as 0 upper bound as 1 (this set must be as many variable)
4) Under integer variable put index of all the variable whose values to be either 0 or 1
5) Run
You can get the result.
You may require basic knowledge of how to use optimization toolbox.
Hope that you can do it now.
Sincerely,
Alam
  • asked a question related to Integer Programming
Question
11 answers
I'm trying to identify which approach would work best to select a set of elements that have different features that minimise a certain value. To be more specific, I might have a group of elements with Feature 1, 2, 3, 4 and another group with Feature 2, 3, 4, 5.
I'm trying to minimise the overall value of Feature 2 and 3, and I also need to pick a certain number of elements of each group (for instance 3 from the first group and 1 from the second).
From the research I did it seems that combinatorial optimization and integer programming are the best suited for the job. Is there any other option I should consider? How should I set up the problem in terms of cost function, constraints, etc.?
Many thanks,
Marco
Relevant answer
Answer
Differential evolution is a good method. You can try with this method
  • asked a question related to Integer Programming
Question
5 answers
Hi,
I am interested in techniques that can prove that an integer linear program has no solutions. I am just looking at feasibility and have no objective function to maximize etc.
This is part of the best known algorithm for calculation optimal addition chains. The system I want to check for infeasibility is quite simple. It's just the Frobenius diophantine equation with an upper bound on the variables.
$\sum_{i=1}^{z}a_{i}x_{i}=n$
With $1\leq x_{i}\leq u$. $a_i$ and $n$ are constants determined by a partial search for an addition chains.
The code that uses this will try to solve billions of small problems like this.
I currently use branch and bound to try and prove there are no solutions or reject the few there are with additional problem constraints.
Relevant answer
Answer
Checking feasibility of an equality-constrained knapsack problem is a classic NP-complete problem, which has applications in cryptography.
If the right-hand side is reasonably small, you can solve the problem with dynamic programming.
If that is not the case, you could try the lattice basis reduction methods developed by Karen Aardal and others.
  • asked a question related to Integer Programming
Question
7 answers
An optimization problem must be expressed mathematically with the least number of variables or the mathematical formulation that allows to demonstrate its optimal solution, however it requires to increase the number of variables. How should it be expressed?
Relevant answer
Answer
Rafael: It is not necessarily the case at all that the optimization model that you construct to represent your real problem should have, as you state, "the least number of variables". In fact, in combinatorial optimization - which is a rather large subset of the reality-based models that we want to solve - there are many successful approaches based on what is known as "column generation" methods. Such methods will simply - well, not that simply - enable fruitful variables in the original space of variables to be generated, and used to derive an optimal solution to the explicit optimization problem. Such methods have been involved in many successful applications during the last three or so decades. Just "google" the term and perhaps the problem type that you are interested in, and see if you get a hit! :-)
  • asked a question related to Integer Programming
Question
6 answers
Hi All,
I have modeled an MILP model using two different formulations, one of the formulation uses three indexes, while the other formulation uses five indexes. Comparing the solution speed of two formulations using the same solver (Gurobi, CPLEX), it turns out that the formulation with five indexes is solved faster by the solver. Not sure why this is happening, has anyone had this experience or are any studies related to this problem available. Please let me know.
Thanks,
Bhawesh
Relevant answer
Answer
Of the same problem? Yes, oh yes. In large-scale integer or mixed-integer optimization, this is legio. And indeed, quite often a "richer" formulation (which typically means MANY more integer variables) means that the solver has more alternatives. Quite often the richer formulation will have a better duality gap, too.
  • asked a question related to Integer Programming
Question
3 answers
As I know, the conventional cutting stock problem can be easily solved by column generation.
Now I want to carry these cuts by truck carriers and this time we want to minimize the number of trucks for transport. ( of course, less waste of stock leads to less number of trucks)
How to formulate this problem in one ILP? Which meets the orders for cuts and also minimize used truck carriers.
Any paper or other resources to help me with this problem?
Relevant answer
Answer
Dear Amir,
I suggest you to see links and attached files on topic.
-Solving Two-stage Robust Optimization ... - Optimization Online
-1 Column Generation and the Cutting Stock Problem
-Chapter 3: Discrete Optimization – Integer Programming - Polimi
-Column generation strategies and decomposition approaches to the ...
Best regards
  • asked a question related to Integer Programming
Question
15 answers
As we know that any MILP/MINLP problem is feasible only on some points in its search space. Consequently, it is not possible get its JACOBIAN as well as HESSIAN matrices, as I think. As a result, for MILP/MINLP problems it is not important to know its convexity. Further, as MILP/MINLP problems are having their feasible search space in form of a set of some discrete points so these problems are NON-CONVEX.
How can you justify my observations? Am I right? or Am I missing something very important?
You comments about the above observations are highly appreciable.
With sincere regards,
M. N. Alam
Relevant answer
Answer
Hi everyone. I want just to make some comments regarding this issue, hoping it is still relevant for those involved in the conversation and for those who will look for a reference in it. As noted above, the fact that at least one of the variables is constrained to have discrete values makes any Mixed-integer problem by definition non-convex. Usually the way to deal with these kind of non-convex problems is through enumeration, which requires us to explore all the different possible values of those discrete variables. Since the number of combinations of the possible discrete solutions grows exponentially (e.g. with n binary variables you have 2^n possible combinations) one needs to rely on tools to avoid exploring all these combinations. Among these tools, we can solve the continuous relaxation of the original problem (defining the discrete variables as continuous variables bounded by the original discrete bounds) which can inform us on bounds for the original problem. Each time we find a solution that satisfies the original integrality constraints, i.e. that all the variables originally discrete have a discrete value and satisfy all the constraints, we find a feasible solution to the original problem which also provides a primal bound (upper bound in case you are minimizing). Every other solution of the continuous relaxation, that is solving a problem in a larger feasible region compared to the original, provides a dual bound (lower bound if minimizing) to the original problem. Using these bounds we can reduce the search space for our enumeration algorithms resulting in the famous Branch and Bound methods.
Soon after developing these methods for Mixed Integer linear programs (which by definition have a convex continuous relaxation), it was identified that the actual boundary between Polynomial solvable and Non-polynomial solvable was not in the linear/nonlinear boundary but in the convex/non convex boundary; meaning that there are polynomial algorithms to solve nonlinear convex programs. This allowed that one could solve the convex MINLP problems using the same Branch and Bound techniques with each node being Polynomial solvable. Finally, other methods relying on the decomposition of the MINLP in MILP and NLP problems were developed. The decomposition of the original problem was done though the gradient based approximation of the nonlinear functions (outer approximation), which produces a supporting hyperplane, i.e. an inequality that won't cut off any part of the feasible region, if the constraints defined a convex feasible region.
So, to the original question, whether if it is necessary to test convexity of the MILP/MINLP problems we have:
  • By definition the problem is nonconvex.
  • If we used the convention of naming these problems convex based on continuous relaxation for MILP it is not necessary, they are convex in this definition, for MINLP it depends on which solver/algorithm are you using.
  • In case you know it is convex, you can apply an algorithm which is guaranteed to return you the global optimal solution (e.g. Outer approximation). These algorithms are not even guaranteed to return a feasible solution in case you have a nonconvex MINLP, but are considerably efficient.
  • There are algorithms available to return the global optimal solution of nonconvex MINLP problems. These rely on convexification of the nonconvex terms in your problem, and you end up paying a cost in terms of computational time for these kind of guarantees.
Together with some colleagues we have recently published a paper comparing solvers for convex MINLP. It is open access and you can find it here . Please let us know if you have any other question regarding this topic.
Cheers!
  • asked a question related to Integer Programming
Question
4 answers
There are N tasks and M workers.
  1. For every tuple task-worker the efficiency is known;
  2. For every task one worker must be assigned;
  3. For every worker at least one task must be assigned;
  4. For every worker multiple tasks can be assigned;
  5. Tasks must be grouped (e.g. by location), and for every group the number of workers is fixed. Every worker must be in exactly one group.
Can you suggest an algorithm or approach for optimal (or suboptimal) assignment (maximal efficiency)?
As my knowledge goes:
  1. Without 4. and 5. this problem can be stated as the “Assignment Problem”, for which there are algorithms with polynomial complexity;
  2. Without 4. this problem can be addressed as “Generalized Assignment Problem” which is NP-hard;
  3. Without 4. and if M = 1 this problem can be addressed as “0-1 Knapsack Problem”.
I can’t see how to use any of the mentioned to address my problem.
Relevant answer
Answer
Some clarifications are necessary.
1. What is the purpose of efficiency? It is not mentioned later.
2. In point 2. is it exactly one worker, at least one worker or something else?
3. What parameter do you want to minimize (maximize)?
The problem could be modeled using linear programming. You can find the LP model for assignment and try to modify it. Try for some small instances to state it by hand and type it into some LP solver like CPLEX. In a few try-error iteration you should be able to formulate the problem. With correct formulation of the LP problem, you should get optimal values for instances that are not to large.
In general, the formulation should be proved to be equivalent to the problem, but that is another issue.
  • asked a question related to Integer Programming
Question
13 answers
Dear Friends and colleagues
I have an optimization in which I have a nonlinear term in the following form:
x(t)* a(k)
where, x and a are variables. a is a binery variable and the sets in which each of the variables are defined is not the same. Would you please suggest me a method that I can use to handle this term and transfer my model to a mixed integer linear programming?
Thank you for your suggestions.
Relevant answer
Answer
Olivér Ősz is right.
  • asked a question related to Integer Programming
Question
14 answers
I have seen many scholars use CPLEX solver in GAMS as they can solve the problem with ILOG CPLEX software. So in this case,they should possesses same results?
Relevant answer
Answer
In principle, when modeling a problem with different modeling languages (such as GAMS, AMPL), you can expect that a global solver, such as CPlex, will return the same objective function value, no matter what modeling language you used. But...
The solution process within Cplex is different, when you present the variables and constraints in a different ordering. And you have no control about the ordering of those (i.e. the interface between the modeling language and the solver), and even if you would have that kind of control, there's no general strategy to find a good ordering (for example, and ordering that leads to minimum runtime).
What does that mean for you? In case you have an easy problem with a unique optimum, you would not feel much difference from using different modeling languages or different MIP solvers.
In case you have multiple optima, you might get different solutions from different modeling languages (although, of course, they have the same objective function value).
In case your problem is too difficult to find a global optimal solution in finite time, and you terminate the solution process prematurely, then you will easily end up with very different solutions and very different objective function values, depending on the modeling language you have used.
  • asked a question related to Integer Programming
Question
8 answers
Hi all,
I am using CPLEX in my java project to solve an optimisation problem. As soon as I invoke .generate() it displays the solution in my output straem which reduces the speed of the whole project. How can I stop this echo?
Relevant answer
Answer
Hi Baris,
That's a nice trick !!!
Thanks
  • asked a question related to Integer Programming
Question
13 answers
I would like to change the following linear programming model to restrict the decision variables to two integers, namely a and b (a<b):
minimize (1,1,...,1)' e
(Y-Zx) > -e
-(Y-Zx) > -e
where Y is a n-dimensional vector, Z is a n \times k matrix and x is a k-dimensional vector. e represents a n-dimensional vector of errors which need to be minimized. In order to make sure that x's only can have values equal to "a" or "b", I have added the following constraints keeping the original LP formulation:
-a/(b-a) - (1/2)' + I/(b-a) x > -(E/(b-a) +(1/2)')
-(-a/(b-a) - (1/2)' + I/(b-a) x ) > -(E/(b-a) +(1/2)')
where I stands for a k \times k identity matrix and E is a k-dimensional vector of deviations which needs to be minimized (subsequently, the objective would be minimize (1,1...,1)' (e; E)).
But, yet there is no guarantee that the resulting optimal vector only consists in a and b. Is there any way to fix this problem? Is there any way to give a higher level of importance to two latter constraints than to the two former's?
Relevant answer
Answer
Dear Fatemeh,
Maybe I am getting too late into this discussion. What I would do is to solve the following problem P:
minimize (1,1,...,1)' e
(Y-Zx) > -e
-(Y-Zx) > -e
a <= x_i <= b for each vector variable component
and programming myself a simple branch and bound algorithm:
1. Solve P
2. check whether some variable x_i has a value that is different from a or b.
3. (branching) Say you find that x_t is a < x_t < b. Then solve the following two problems:
P1
minimize (1,1,...,1)' e
(Y-Zx) > -e
-(Y-Zx) > -e
x_t = a
P2
minimize (1,1,...,1)' e
(Y-Zx) > -e
-(Y-Zx) > -e
x_t = b
4. Perform step 3 on the solutions of all problems you have.
5. (bounding) . Stop branching if:
- the solution of a problem is infeasible
- all variables in the solution have values either a or b ("integer" solution)
- the solution of the problem still contains variables with values different to a or b, but the objective is worse than a previously found "integer" solution.
I know it is brut force, but it will keep the structure of your problem and will guarantee what you want. And, it is very easy to program.
Hope it helps.
Vlad
  • asked a question related to Integer Programming
Question
4 answers
I have a 30*40 matrix. Lets say the components in the matrix are specified with "P" and the related number of the row and column of each "P" is specified by "X" and "Y" accordingly. I have a model that the output should give us the P, X and Y. How can I define constraints (for solving a simplex) which connect P with it's exact X and Y? I want to say for example:
if X=1 and Y=1 then P= 0.1
if X=1 and Y=2 then P= 0.5
if X=1 and Y=3 then P= 0.8 and so on.
I don't want the model to return a P that does not match it's location in the matrix. How can I achieve this?
Everything is known, except for P(k), X and Y
Relevant answer
Answer
Your constraint relating X and Y with P is inherently non-convex (unless P has some special property). So it looks like binary variables are indeed necessary.
  • asked a question related to Integer Programming
Question
12 answers
Is it possible to transform a binary-variable ({0,1}) mixed-integer linear programming to a linear programming with continuous variable ([0,1])?
To make it clear, I give an example.Optimal decision making problems often pose binary variables in optimization, in form of an action (1) or no action (0). Now, think of not a discrete decision variable, rather a probability of making an action which can take any values between zero and one. The discrete variable {0,1} leads to an integer linear programming while the second one is a linear programming. Is is possible to to transform the integer variable to the continuous one, and alternatively solve an LP instead of MIP?
Thanks a lot in advance for your answers.
Vahid
Relevant answer
Answer
The relaxation by the Simplex method solves the MILP for certain special classes - if the problem matrix is (totally) unimodular, e.g. the node-arc-incidence matrix of a directed graph.
So there are MILPs where the representation by the constraints really give the convex hull of the feasible (integer) points and the solution of the problem just is solving an LP.
A representation by a CONVEX problem would require to know the facets of the convex hull of the integer feasible points.
If you succeed to do that for an arbitrary problem with binary variables you'll be a good candidate for the Fields medal.
The non-convex equation mentioned above exactly represents a binary variable and consequently the non-convex nonlinear problem is as hard to solve as the original BIP - but by other methods.
I don't know of an (even non-convex) representation for a general integer variable by similar means.
  • asked a question related to Integer Programming
Question
23 answers
I am working on small project which is to apply the Operation research knowledge into daily life. Do you have fun or brilliant ideas ? Please share!
Thank you
Relevant answer
Answer
3-D Bin packing - when packing groceries, your suitcase, build your bookshelf, or arrange your books in it, storing hobby things, or the left-overs in the basement. :-)
People who are on a diet can optimize it so that it matches the nutritional values and maximizes its tastefulness - or minimizes its cost. (The diet problem is a classic LP one.)
  • asked a question related to Integer Programming
Question
5 answers
In Branch and Bound Algorithm, if the linear relaxation of the problem provides more than one fractional values (for more than one decision variables), then which decision variable should be considered for the next step?
If arbitrarily any one of the fractional values is chosen, does it guarantee the optimal solution finally?
Relevant answer
Answer
It is one possibility to always choose the larges fractional value - but by no means the only one. The choice of the branching variable especially in the beginning is very important for the size of the resulting tree.
Unfortunately there is no way to know the optimal choice a priori,
The answer of Daniel Molina Pérez pointed out two means incorporated in many solvers.
The backwards looking one is called pseudo costs branching in CPLEX. It records the changes in the LP bound by branching on te variables and chooses one which gave the greatest change. Of course this information is not available in the beginning.
The forward looking one is called strong branching and does a limited number of simplex steps on some chosen candidate branching variables to see which one gives the greatest improvement of the bound.
There is a third way offered by most solvers: that the user (who knows his model much better than the solver) identifies 'important' variables by assigning a higher branching priority.
I really encourage you to do a literature search. Have a look to Wolsey's book, too.
Besides the choice of the branching variable the implementation of clever heuristics is very important since early knowledge of good primal bounds would allow for earlier inferiority cutoffs and reduces the size of the B&B tree considerably.
The excellent commercial solvers like Gurobi and CPLEX contain a lot of techniques to speed up the solution process and their defaults are carefully tuned to a large set of test problems . But though these defaults perform best 'in the mean' still the right choice of parameters for any particular MIP is a kind of art.
  • asked a question related to Integer Programming
Question
16 answers
Looking through the literature, I realized all the proofs for NP- hardness of QIP are based on the claim that Binary Quadratic Integer Programming is NP- hard. Is that true?
Relevant answer
Answer
Unconstrained Quadratic Integer Programming is strongly NP-hard even when the objective function is convex. The proof is by reduction from the Closest Vector Problem.
  • asked a question related to Integer Programming
Question
9 answers
The structure of this problem is similar (not equal) to other problems that admits simple solutions. Maybe, the colleagues of this community could help me in identifying a solution to this problem.
Relevant answer
Answer
Dear Sir
  1. An Introduction to Computational Fluid Dynamics The Finite Volume Method, 2/e By Versteeg
  2. http://link.springer.com/article/10.1007/BF01063118
  • asked a question related to Integer Programming
Question
9 answers
I was interested in listing all the possible integer solutions to
f(n/10)-f(n/11) = 1                 (eq1)
Where f(x)=floor(x) is the floor function, relating each real number x to the greatest integer z less or equal to x.
The floor function wasn't so easy to deal with, as it seems at first sight. I replaced n/10 = x.. and took 10x/11, having a similar equation:
f(x)-f(10x/11) = 1
The solution set was then easily verified, X = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}..
But didn't mean the possible solutions to (eq1) would resume to:
Y= 10*X = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110}.
I computed every solution to the equation (shown in the figure) with the support of an algorithm.
I realized then, the relation with another equation by taking a look thru the floor function identities...
 –11x + 10y = 110 – n ,
where x = n mod 10, and y = n mod 11.
Seems like a diophantine approximation involved. Of course there are theorems to help with solutions of diophantine equations... But...
What if we have an equation:
f(x/a) + f(x/b) = c,  where x is the variable and a, b, c are positive integers, where f(x)=floor(x) is once again the floor function.
How can we compute the possible solutions for x integer?
Is there any property that we can operate with floor functions? I suppose not cuz the function isn't continuous.
This subject just caught my attention. Maybe it's easier than seems. Any clue/tips?
Relevant answer
Answer
Dear Kelvin,
The equation [x/a] + [y/b] = c, where  [  ] is the floor function, has the 
general  solution:  x = ma + r and y = (c-m)b + s,
where m is any arbitrary integer,  0 ≤ r < a and  0 ≤ s < b.
Now, you need x = y  > 0  to obtain positive  solutions x for  [x/a] + [x/b] = c ,
direct substitution shows m = ( bc + s - r )/(a+b).
Next, you test all possible values of s and r to give a list of all possible positive integer values of m. Otherwise the equation has no solution.
Example :  [x/2] + [x/3] = 5.
m = ( bc + s - r )/(a+b) = ( 15 + s - r )/(5)  where  0 ≤ r < 2 and  0 ≤ s <3.
All possible values of m are {3,14/5,13/5,16/5} , m= 3 is the only positive integer solution.
Therefore x = ma +r  provides  6 and 7  are all possible solutions for   [x/2] + [x/3] = 5.
Best wishes 
  • asked a question related to Integer Programming
Question
12 answers
I am looking for solvers for mixed-integer nonlinear programs (MINLP). Are there solvers that instead of exact solutions, provide faster but approximate solutions with some error bound?
Relevant answer
Answer
The only way to get error bounds is through the use of deterministic solvers.  Additionally, if the problem is nonconvex when integrality is relaxed, you will need a global MINLP solver for valid error bounds.  There are several global MINLP solvers available nowadays; all are based on branch and bound technology.  The global MINLP solvers BARON, ANTIGONE, SCIP, LINDOGLOBAL and COUENNE are all available under GAMS; some of them are available under AMPL and AIMMS.  Some comparisons between these solvers are provided in Mittelmann's site at http://plato.asu.edu/ftp/minlp.html.  BARON, in particular, is available for free through the NEOS server.  It is also available in commercial forms from GAMS, AIMMS, AMPL and minlp.com.  The minlp.com distribution can run under MATLAB, YALMIP, Pyomo and JuMP.  The BARON option you can use for faster termination is called deltaTerm.
  • asked a question related to Integer Programming
Question
7 answers
I am wondering if GA is capable of solving large-scale(say, 10000 design variables) 0-1programming problems. If not, what is the potential alternatives?
Relevant answer
Answer
You may need to reduce the dimensionality of the data using the Genetic algorithm in conjunction with another algorithm (an evaluator) that evaluates the merit of the selected subset before applying classification/regression algorithm. Or you could try other search methods, such as a Ranker method--it might be useful in your case and has a fast performance. 
HTH.
Samer
  • asked a question related to Integer Programming
Question
6 answers
I'm trying to solve the vehicle routing problem with the column generation algorithm, but it does not converge and generates too many columns in a very long time.
Thanks!
Relevant answer
Answer
  • asked a question related to Integer Programming
Question
6 answers
Is there any condition (similar to K.K.T condition in convex optimization) can be used to get the analytical solution.
I want to get some theorems form the optimization model, and analyze the relationship between the variables and the parameters.
How about the Multi-modules (used to prove the optimality of the model) ?
Relevant answer
Answer
In the case when integer programming is equivalent to linear programming - such as is the case with integer programs that are equivalent to linear network flow problems (like the shortest paths problem) - the KKT conditions are necessary and sufficient. But for integer programs that cannot be translated into a network flow problem or a 2-matroid problem this is not going to work. 
  • asked a question related to Integer Programming
Question
3 answers
I'm trying to identify which approach would work best to get optimal decision among three layers in multilayer network.
From the research I did it seems that combinatorial optimization and integer programming are the best suited for the job. Is there any other option I should consider? How should I set up the problem considering parameters index and performance metrics to take optimal decision
Many thanks in Advance
Rashmi
Relevant answer
Answer
there is no such optimization technique which we said it is the best. so u have to choose according to your application what you basically required as in most of the optimization techniques there are two processes one is exploitation and second is exploration. now its depends upon your application what are you want .........
  • asked a question related to Integer Programming
Question
6 answers
I have a bi-objective MIP model. I proposed some valid inequalities to tighten the model. I know in a single objective problem, I can check the linear relaxation solution to evaluate the performance of valid inequalities. In your opinion, is it correct to use the linear relaxation criterion in a bi-objective problem or use other criteria?
Relevant answer
Answer
Note that valid inequality tighten the feasible region of the problem which is formed by the constraints (not by the objective functions). Therefore, there is no obstacle to use the linear relaxation. However, you can also use the computational time as another index to evaluate valid inequalities.
  • asked a question related to Integer Programming
Question
2 answers
I am using NSGA-II for carrying out a study. For this I intend to stabilize the algorithm. Now when I am testing algorithm with ZDT-4 test function, I am not getting satisfactory results. I am using "https://in.mathworks.com/matlabcentral/fileexchange/10429-nsga-ii--a-multi-objective-optimization-algorithm" as source code and I have done some modifications to it according to my need. ZDT-4 is converging to local pareto optimal solution. How to get global optimal solution? All other functions are working fine.
Relevant answer
Answer
Dear Abhinav Kumar Sharma,
Code of NSGA_II is very complicated and in each iteration you should be sure about the correctness of the new matrixes. It may be a defect in this matter.
  • asked a question related to Integer Programming
Question
3 answers
I'm interested in 'rounding algorithms for Linear Programs'.
Unfortunately I can only find the already mentioned once on the internet.
What I search, is basically a algorithm which converts fractional solutions into integral solutions. Thank you :) 
Relevant answer
Answer
Better than rounding - and sure to lead to an optimal solution, is to use Land-Doig-Dakin. (I am however not saying that this method is a "killer", but that it provides some insights into how to think about the link between linear and integer programming.) Imagine that you first solve the LP (that is, continuous) relaxation. Among those variable  values that are fractional, and in particular farthest from being integer, you can add two branches in a search tree: in the first you add the extra constraint that that variable's value must be lower than the value rounded down to the nearest integer; in the other branch you specify that the value must be at least as high as the value rounded up. You now have two branches to solve the LP problem in, with the added bonus that you have narrowed down the search. If you keep on doing this, while also applying all the cutting rules that Branch-and-Bound has (cut if a local lower bound is worse than the value of a known feasible solution, for example, or that one branch's problem is even infeasible). This may not be quick, but it is instrumental to show how branch-and-bound actually works.
  • asked a question related to Integer Programming
Question
2 answers
Monotone 0-1 IP's are integer programs with 0-1 variables with two non zero coefficients per variable of opposite signs.
Relevant answer
Answer
Dear Mohamed-Mourad
Thank you very much for your kind and prompt response.
The paper are very interesting. I'm eager to read them,  and I'm particularly enjoyed to know there is an expert not far from me with whom I can cooperate.
Best regards
Salim
  • asked a question related to Integer Programming
Question
6 answers
actually i am willing to model a classic problem of association rule by a standard constraint optimization which can be nonlinear and non-convex too but with minimum number of constraints and optimization  variables.
Relevant answer
Answer
See "Logical Analysis of Numerical Data" by Boros et al.
  • asked a question related to Integer Programming
Question
2 answers
Suppose we obtain some non- dominated fronts in a multi-objective problem solved using NSGA-II
F1= {5 ,6 ,9}
F2={11,1,3,8}
and so on.
where number represents the solution number.
What does it interpret?
Relevant answer
Answer
Thanks Iago
  • asked a question related to Integer Programming
Question
3 answers
Is there any (approximate) way to convert a complementarity constraint (i.e. x.y greater than 0) to a linear constraint (i.e. a.x+b.y+c greater than 0)?
Relevant answer
Answer
Much appreciated, i just browsed quickly through it, a fascinating and very well written note, i must say Wow
  • asked a question related to Integer Programming
Question
8 answers
Hi,
I am doing MIP optimization on conveying capacity increase of pellets by proper silo routing and unloading. I need to specify a constraint saying that once a silo is selected it needs to be filled continuously at each time interval.
But currently, the silo is able to hold and capacity is constant for certain period of time which is not the case in real life. Hence, there exists many number of combinations in which silo can hold the capacity and the model is slow.
Can anyone formulate a constraint which tells the program to fill the silo continuously with certain flow rate and not hold back.
Regards
Pradyumna Krishnan
Relevant answer
Answer
Hi Pradyumna:
OK, so I gather Silobinvar(S,t) =(0,1) if silo s is selected to receive product in time t
and Recipebinvar(r,t) =(0,1) if recipe r is being produced in time t.    You want to only select one silo in any time period so, SUM_s(Silobinvar(s,t) =1 for all t.
You also want to keep silo s selected for as may consecutive periods as it takes to fill silo. another way to say that is you want to minimize the cumulative transitions from non-filling to filling states for all silos.  
Suppose you consider Silo(s,t+1)-Silo(s,t) =u(s,t+1) - v(s,t+1). and add min epsilon*Sum_s,t (u(s,t)). to the objective function.  epsilon is small enough so it otherwise does not affect the optimal solution, but all else equal this chooses fill patterns that only start to fill (u(s,t+1)>0) once.  (Check this logic.  on first blush it does not appear to me you need to min eps*SUM_s,t (u(s,t)+v(s,t)), but adding this does not appear to matter, since their difference will equal Silobinvar(s,t,) for all s and t, and minimizing one should minimize the other.  since their difference will always be 0 or 1, they should not even need to be declared integer.. Check the logic on this to confirm this works.  Probably need some special treatment of first and/or last period as well.
I presume you have other constraints that drive the solution to completely filled silos - i.e. no partially filled silos are feasible/optimal. so this would drive solutions that fill the silos but only start to fill once - and therefore once they start filling they don't stop until the silo is full.   
If on the other hand there are no other constraints that force the silos to be full, this will not be sufficient.  If the latter you may need to think about more binary variables X(r,s,t) = (0,1) if recipe r is being put into silo s at time t.
Alternatively you could look at the so-called unit commitment problem for electric utilities.  this problem selects the generating units that are available and unavailable, and some units (like large thermal/nuclear plants have startup times and shut down times that need to be enforced, and once they are online they stay online for consecutive time periods - unlike peaking units or hydropower that can be dispatched quickly with little to no startup and then shut down without a cooling period.
There is a huge literature on this with many different algorithns - primal-dual methods have received much attention.  Note the unit commitment problem is typically closely coupled with the economic dispatch problem:  given the units currently committed (available) distribute the current period demand across the available units to minimize generating costs (and other secondary objectives).  These problems obviously link across time periods based on projected demand.
One of Dantzig's last papers was on the stochastic version of this problem with Gerd Infanger in the European journal of operations research:  
Intelligent control and optimization under uncertainty with application to hydro power  By:Dantzig, GB (Dantzig, GB); Infanger, G (Infanger, G)  EUROPEAN JOURNAL OF OPERATIONAL RESEARCH.  Volume: 97. Issue: 2. Pages: 396-407
DOI: 10.1016/S0377-2217(96)00206-8
Hope this is of some help
  • asked a question related to Integer Programming
Question
6 answers
Assuming that ther is a function f(x) where x is the vector [n1,n2,...nm] where ni is the number of balls in the box i={1,..m}, and sum(ni) = n. f(x) being a non linear, non convex function.
What's the complexity of the problem of finding the distribution of balls that maximize f(x) ?
Also what's a good algorithm for solving this kind of problems ? GA, PSO, etc??
Relevant answer
Answer
Dear Victor,
First way : If the fonction is non-linear, non-quadratic, non-convex on linear and quadratic functions much better search policies are available.
Second way : support vector machine learning via quadratic programming or Genetic Algorithm.
Here is some reference in subject.
-Hansen, Ostermeier, Gawelczyk (1995). On the adaptation of arbitrary normal mutation distributions in evolution strategies: The generating set adaptation. Sixth ICGA, pp. 57-64, Morgan Kaufmann
- 2Salomon (1996). "Reevaluating Genetic Algorithm Performance under Coordinate Rotation of Benchmark Functions; A survey of some theoretical and practical aspects of genetic algorithms." BioSystems, 39(3):263-278
Best regards
  • asked a question related to Integer Programming
Question
3 answers
In the literature only i found the hedonic model for maximation of housing Project.
Relevant answer
Answer
Thanks for your help.
  • asked a question related to Integer Programming
Question
17 answers
Dear respected scientists
I am currently working on solving an MIP model using Lagrangian relaxation method. I propose to solve the dual problem in iterated manner. Initially, the multipliers are set to zero and thereafter, they will be updated in each iteration until a good enough solution is obtained. I think about solving the dual problem by B&B method using Cplex While the iterative procedure(to update multipliers) will be implemented by Matlab. My question is " does any one experience integrating Cplex with Matlab in a similar way?  or is this a good idea in term of  CPU time and solution quality?" i will appreciate any help.
best regards 
Ahmed Karam
Relevant answer
Answer
Perhaps you don't need to use MatLab at all?  If you wish to solve the Lagrangian dual via the subgradient method, then it is easy to write your own little function (say in C) to update the multipliers.  Alternatively, if you want to solve the Lagrangian dual using the Bundle method, then the problem of updating the multipliers is a convex quadratic program, which CPLEX can solve easily.  In either case, you can still draw on CPLEX to solve the relaxed problems (which I understand are MIPs).
  • asked a question related to Integer Programming
Question
22 answers
Let two positive integers n and m be given. How many pairs of integers (x,y) can one find in the range 1..n such that (i) all x's are different, (ii) all y's are different, (iii) all x+y's are different, and (iv) x+y <= m.
I came across this problem (with n=7, m=11) in a safety discussion of a stream cypher (trinomials that have to fit into an opportunity window). I can only solve it by an extremely lengthy analysis, while I'm hoping there is an elegant (or at least a not too lengthy) solution.
If a third coordinate z is defined as m+1-x-y, the problem becomes a kind of magic-square thing: fill each of three rows with distinct numbers in 1..n, such that each column has constant sum m+1. How long can the rows be? This problem (which is the actual translation of the cryptological question) is not exactly equivalent with the pairs-problem; it may have slightly smaller solutions.
Can this perhaps be linked to a known problem?
Relevant answer
Answer
 Good easy fix. So start from k+1 instead of k for 2nd coordinate and it is enough to get n=2k different pairs, using otherwise the same formula. Thanks I.E. Kaporin. Seems completely settled now.
A) n=2k. Use (2k-(2i-2),k+i) for i=1 to i=k, then use (2k-(2i-1),i) for i=1 to k. 
B) n=2k+1. Use (2k-(2i-3),k+i) for i=1 to k+1, then use (2k-(2i-2),i) for i=1 to k.
  • asked a question related to Integer Programming
Question
1 answer
Does any one know about the meaning of offset and the formula of this link: http://oeis.org/A002898/internal ?
Relevant answer
Answer
Perhaps you  could clarify? I don't see a mention of the word offset in the page as it exists today (2016/05/15). You probably already know the definition available at http://oeis.org/wiki/Offsets
  • asked a question related to Integer Programming
Question
12 answers
I would like to first know if there is a general form for scheduling problem that can be reformulate in terms of a constraint optimization problem.
for example job shop problem is one of the famous scheduling problems however i couldn't find any related closed form integer programming or mixed integer programming.
Relevant answer
Answer
Yes of course you can model any scheduling problem with Mathematical model and after that write it on a solver like Cplex or implement your own exact method like brunch and bound. But what do you mean by a "general approach "? you can find a large variety of formulating scheduling problem in the literature and what you can do is trying to be inspired about that works like how the constraints are formulated and try to formulate "mathematically" the constraints of your problem", but a "GENERAL" formulation that you can apply to any scheduling problem?!! No, I don't think so,... maybe two or three constrains but not all the model because each problem has his specific contraints to take on concideration
  • asked a question related to Integer Programming
Question
2 answers
There is the MINOPT library, but its code is not open.
Relevant answer
Answer
Kindly, have a look on the following publication.
  • asked a question related to Integer Programming
Question
1 answer
Hello everyone, 
I am working on a case study which is about project planning with limited resources. Activities can be completed either in normal duration or in its crash duration. It is required to finish project as soon as possible with minimum achievable cost.  I think this problem can be modelled by using integer programming. So, I need some modelling examples on network/project scheduling with limited resources problem. If there are some could you please provide  me ? Thanks in advance. 
  • asked a question related to Integer Programming
Question
1 answer
Can anyone tell me how to convert my waveform or signal which i have in floating point numbers into integer sequence?I need to encode my signal residue using arithnmetic coding for which i need the input as integer sequence. Kindly help
Relevant answer
Answer
If you did not need to preserve the value of your floating point numbers, but just model them (represent them unequivocally) you could simply take the significand and the exponent of the floating point, find the prime numbers whose order corresponds to their values, and model them through the product  of those primes. Then you would have an integer for each floating point.
But you probably need to preserve the exact value of the floating point numbers. In that case, if a sequence of integer ratios is acceptable I would suggest you convert the floating points to their rational number equivalents: p/q, with p and q integers. Take a look at the following link:
Kind regards
Fernando
  • asked a question related to Integer Programming
Question
2 answers
Hello everybody,
      My task is to write a UMAT for nonlinear viscoelastic material based on the attached paper. For now, I have written the UMAT (1D formulation) and I am able to generate the output. My problems are
  1. Validity of the code I have attached the stress vs time graph for a relaxation test on 1D Truss element. The behaviour looks normal (correct me if you have to) to me.
  2. If i change the input parameters, say I play with the initial time increment of Steps or change the displacement from 5 units to 10 units, the job keeps running and does not complete. I have to manually delete .lck file from the folder and again run the job. I am not able to understand what is going wrong. Would be really helpful if somebody could throw some light on it.
Thanks in advance for your time
Shree
P.S I have attached the input file and the UMAT for your reference
Relevant answer
Answer
Hello Tsambani,
                 Firstly, thanks for the answer. But I don't find anything useful in the link you provided. My question was something totally different.
Thanks and Regards
Shree
  • asked a question related to Integer Programming
Question
3 answers
The question may be stupid but it really confuses me for a long time.
I read a lot of papers in wireless sensor network. Many researchers model their problems into the form of ILP. However, ILP is NP-Complete so it is not efficient for solving a problem.
So why people write their problems into the form of ILP? Do they do that to make their problem clear to see and easy to understand? Or do I make some mistakes understanding the relations between ILP and NPC?
I am really appreciated that you can help me to solve this question.
Relevant answer
Answer
The previous answer is great and gives some good examples. Another "reason" for ILP that I might add is that it is often the most obvious and most straightforward way to represent the selection of discrete alternatives (for example a binary variable X_ j is 1 or 0). I'd even ask what would you do instead? Perhaps represent X_ j as a real number bounded by 1 and zero (relaxation of the problem). This is a strategy for attacking the case, but you would have to agree that fractional solutions are not representative of the real problem that we have set. (This occurs in facility location, portfolio selection, and many other areas.) So the problem might require branch and bound or other implicit enumeration schemes to finish off the selection of only integer solutions.
I think that if you want to understand some of the beauty (and difficulty) of ILP check out the knapsack problem. Almost as simple as you could imagine, and yet there are integer variables with real meaning and significance for this model. While this is "difficult" it has not stopped clever algorithmic approaches that improve over the most obvious greedy heuristic.
  • asked a question related to Integer Programming
Question
4 answers
here thousands of variables or involved.and i implement this problem on GAMS software and i got some answer so I want to know that this solution is correct or not but how to check this?Any idea plz help as soon as possible.
Relevant answer
Answer
Integer programming problems are np-hard so you are not looking for whether the solution is optimal (you would not be able to find one if the problem is big, as it seems). So you are just wondering if the solution is feasible. 
If it is an exact problem (objective functions f=0) just replace the variables with the solution values and see if they verify the equation.
If not or if you want more confidence you can compare the solution with random variable values and see how much better it behaves. If the solution is quite better than randomness GAMS is probably doing things right. It is also advisable to check which model GAMS is using, to make sure it is the right one.
Kind regards.
Fernando.
  • asked a question related to Integer Programming
Question
8 answers
I am currently using intlinprog (Mixed Integer Linear Programming) to solve LRP(location routing problem).I am now stuck at subtour elimination constraint and I don't know how to compute this on MATLAB. The subtour elimination method that I will be using is Miller-Tucker-Zemlin (MTZ) constraints.
Can anyone help me? The constraints are:
 for all i                qi<=ui<=C
for all i-j client                     ui-uj+xij*C<=C-qj   
Relevant answer
Answer
This thread seems to address both the question of which cuts are best for the LRP, and how to add them using MATLAB.    Regarding the second question, MATLAB is not well suited to the cut and lazy constraint callback functions that offer the best way to add cuts dynamically during the MIP optimization (as Yasser pointed out)..   Therefore, the best you can do with with either the Toolbox functions like intlinprob(), the corresponding CPLEX toolbox functions (e.g., cplexmilp()),  or the Class API that CPLEX also offers consists of solving your MIP, adding your elimination constraints, then reoptimizing from scratch.    This will probably run much slower than implementing this using CPLEX's C, C++, Java or Python APIs and using the lazy constraint callback to add the constraints (DFJ, MTZ or otherwise) to eliminate the subtours and continue the optimization.  You would avoid having to restart with each new batch of subtour elimination constraints you create.
  • asked a question related to Integer Programming
Question
3 answers
are there Matlab codes availables showing how to set up and solve a mixed-integer linear programming problem (parameters and Variables as matrix).i found some ones in mathWork but I'm looking for others with more constraints.I am trying to solve a model for location routing problem (problem combining Facility location Problem FLP and vehicule routing problem VRP) using MATLAB
Thanks 
Relevant answer
Answer
I am using TOMLAB for this purpose. It is an interface (add-on) for MATLAB, so that you can formulate MILPs and solve them via various (commercial and free) solvers. Examples how to set up models come with the TOMLAB software.
  • asked a question related to Integer Programming
Question
7 answers
I've already completed the algorithms in vehicle routing problems, that is the last-mile-problem. But I wonder, is there any do's or don'ts in developing my own system to solve the vehicle routing problem, with the algorithm developed by myself.
Thank you for the response in advance.
Relevant answer
Answer
Have a look at these implementations, which are all combinatorial and permutation type optimization problems, and solved using various algorithms:
Despite the differences between these problems, however mathematically they are almost equivalent in the sense of solution representation. The solution of all problems mentioned above, can be represented as a permutation.
  • asked a question related to Integer Programming
Question
18 answers
The problem below is Integer and linear problem (ILP). The idea is to solve it using linear (and continuous) programing (LP) techniques to obtain a relaxed solution. Then, a rounding algorithm should be used to obtain an integer solution that consists in an approximative solution to the optimal solution of the original ILP. My question is about an efficient and (possibly) approximative algorithm for the rounding procedure.
I would appreciate any direct and succinct text about this subject. 
Relevant answer
It depends on the problem and on your time requirements. Have you already tried it? Don't trust that theoretical excuse that the problem is NP-hard etc... Modern solvers as CPLEX are very fast and reliable. Give it a try. In addition, B & B provides lower and upper bounds on the optimal solution, so that you can stop the search before reaching an optimal solution and you know how far you are from an optimum. Heuristic procedures as rounding cannot give you any guarantees on the quality of the solution. Heuristics is a good choice only if you have very strict time constraints, such as in real-time applications.
  • asked a question related to Integer Programming
Question
6 answers
There are various method to find prime numbers but not efficient to calculate the large prime integers of 40 digit in fraction of time. Even many system are not supporting more than 11-18 digit integer. I tried to find it through C/C++ and Matlab even I used JAVA using biginteger but I am unable to find this large primes.  
Some 40 digits prime integer are available on net and some other prime calculator are there which generates prime integers immediately but those are manual. For my work I need some special prime which are derived from primes, so that i can recheck the derived integer from a prime integer whether a prime or not. So I need a powerful tool or program for generating and checking large prime integer within second of time. If somebody knows please kindly post the solution.
Relevant answer
Answer
@Robin: By initializing i with the first odd number within the given range of n to x in  for (i = n; i <= x; i++)  and using i += 2 instead of i++, the number of iterations can be reduced by half. It would make your script still faster.
  • asked a question related to Integer Programming
Question
8 answers
An MSc student of mine is currently working on operation room scheduling problem. She is struggling on how to convert the related IP model into Set Modeling of Lingo optimization software. Any help (an example, a modelling done in Lingo, ...) would be highly appreciated.
Relevant answer
Answer
I'm surprised there are many samples in LINGO manual and Linus textbooks. I developed many application by learning those samples.
See my papers after 2014.
And your student contact LINDO directly.
  • asked a question related to Integer Programming
Question
13 answers
I actually use my own desktop computer, for modeling and solve problems using the solve cplex, but the large scale problems is very  expensive in time (days of calculus) to reach optimal solutions, I wish explore the option of a cloud service to these large scale problems
Relevant answer
Answer
You can use projects like OpenOpt (http://openopt.org/cplex), NeosSolvers (http://www.neos-server.org/neos/solvers/) or IBM Decision Optimization Cloud (http://www-969.ibm.com/software/analytics/docloud/).
Neos is free, IBM project has free trial period.
From my own experience, I'd recommend IBM project. You just register on their website, write you LP or MILP problem to a .LP or .MPS file, upload this file to their server and run the solver. In IBM project, free access has a limitation: no more than 1 or 2 hours of calculations for 1 problem. All my problems were solved within this time limit while it took more than 10 hours on myhome computer. For money, there are no limits.
  • asked a question related to Integer Programming