# Tag Info

8

Indeed, for the first constraint you can use: $$x+y+z \le 2$$ For the second one, it might be easier to model the contraposition: $$z=0 \quad \Rightarrow \quad x+y \ge 2 \quad \Rightarrow \quad x=y=1$$ This yields: $$1-z \le x \\ 1-z \le y$$

5

The augmented $\varepsilon$-constraint method is designed to generate all non-dominated outcome vectors to a bi-objective (or multi objective) optimization problem, whereas a lexicographic optimization approach is designed to generate one particular non-dominated outcome vector to bi-objective (or multiobjective) problem. So it all depends on what you want ...

5

This is the transportation problem, a network flow problem (in a directed bipartite network) and hence solvable exactly as an LP. If you prefer a combinatorial algorithm, this might be a good exercise to learn the primal-dual method, and your heuristic approach can provide the initial solution.

5

You want to linearize $xy=1-z$. See https://or.stackexchange.com/a/473/500 for a somewhat automatic derivation of a linearization for $xy=z$ via conjunctive normal form. You can then replace $z$ with $1-z$ in the resulting constraints.

4

your model is not feasible and that is why you get no solution. if you comment //forall(i in cD,j in DI,t in T:t==2, f in F)cb10:recievetime[i][t]+(time[i][j]+servicetime[j][t])*K[i][j][f]-Tmax*(1-K[i][j][f])<=recievetime[j][t]; then you ll get some conflicts and relaxations like 72 [0,Infinity] [-6,Infinity] delta[1][2] 72 [0,Infinity] [-10,...

4

as can be read in OPL CPLEX documentation, A decision variable is an unknown in an optimization problem. For instance dvar int x in 0..10; is a decision variable int a=3; is some data definition whereas in execute { var b=2; } b is a scripting variable. In your model, I see float Q[periods]; //Inventory of the blood product at the blood center in time ...

4

It seems to me that this problem can be reduced to a variant of the generalized assignment problem (GAP). If you set $U_{\max} = 1, \forall u$, then your problem is indeed GAP with equal weights for items. I know GAP is NP-hard, but not sure about this variant of GAP. I guess you can find some good stuff if you look for variants of GAP.

4

As Sune noted, the $\epsilon$-constraint method is not comparable to what CPLEX does, since it finds all Pareto efficient solutions. In case you were thinking of option 2 as finding a lexicographic optimum by optimizing the highest priority objective, constraining it to be optimal, optimizing the next highest priority objective etc. (similar to but not the ...

3

I did a few computational trials on a small example, and it appears that you can solve the Lagrangean relaxation via a gradient based method. If we reverse the constraint requiring all users to be assigned at least one provider, to $$-\sum_{c=1}^C d_{u,c}\ge -1\,\forall u$$(so that all multipliers are nonnegative), the Lagrangean problem is\min_{\lambda,\...

3

Yes. Assuming that $\alpha$, $\beta$ and $\gamma$ in the text are the same as $a$, $b$ and $g$ in the model, then $b_i$ should be $b_i y_i$.

3

Such a problem is difficult to model and solve following a MILP approach as suggested above. Indeed, the resulting MILP instances will grow quadratically regarding the number of items and bins, while the linear relaxation will be weak. Your problem is closer to a job shop scheduling problem than a basic bin packing problem because of your temporal ...

2

I guess that depends on the application and the constraints and expectations that the end users have. For example, do users work with the model interactively, trying different parameter choices and then look at the results immediately? This would mean that the solution time should be in seconds or few minutes. But if it's a planning problem that can be run ...

2

I recommend using binary item-to-bin assignment variables $x_{i,b}$ and continuous nonnegative start time variables $s_i$. You can think of each item as having duration $1$ so that precedence constraints look like $s_i+1\le s_j$ if item $i$ must precede item $j$ and items $i$ and $j$ are assigned to the same bin. You can enforce this as follows: \begin{...

2

CPLEX treats the seed as a parameter. The parameter name varies by API; for Python it seems to be "parameters.randomseed". The docs somewhat unhelpfully state that "[t]he default value of this parameter changes with each release" (but do not specify what it is in the current release). Note that a change to the seed is not guaranteed to ...

2

if you name other constraints as: forall(i in cD, t in T:t==2) cb1:sum(j in DI)K[i][j]<=1; forall(i in cD,j in DI,t in T:t==2) cb2:e[i][j]*K[i][j]-(1-K[i][j])*Q <=y[i][t]-y[j][t]; forall(i in cD,j in DI,t in T:t==2) cb3:y[i][t]-y[j][t]<=e[i][j]*K[i][j]+(1-K[i][j])*Q; forall(i in cD,j in chargestationcopy,t in T:t==2) cb4:e[i][j]*K[i][j]-(1-K[i][j])...

Only top voted, non community-wiki answers of a minimum length are eligible