1
$\begingroup$

I am trying to do an optimization problem:

I have 500 customers and $N$ facilities, and $C_{i,j}$ indicates whether customer $i$ is assigned to facility $j$. Each customer is assigned to at most one facility, and at least 475 customers needs to be assigned. Each facility has a capacity of 150 resources, and $D$ indicates the number of resources that each costumer need (being a matriz 500 x 1). The distance of the customer to the facility that the costumer is assigned should be at most 85 units, and the matrix $L$ is a matrix $N$x$2$ which shows the localition of the facility in meters (in x,y coordinates). The matrix $G$ is a matrix $N$x$2$ which shows the localition of the costumer in meters (and we assume that a costumer can not move its position). Then, as we will bilt the facilities, I have to minimize the number of facilities and minimize the distance of the facility from each costumer.

So my formulation of the problem is the following:

  1. \begin{equation} \sum_{i=1}^{500}\sum_{j=1}^{N}C_{i,j}\geq 475 \end{equation}

  2. \begin{equation} \sum_{i=1}^{500}C_{i,j}D_{i,1} \leq 150 \, , \,\, \forall j \in \{1, ..., N\} \end{equation}

  3. \begin{equation} \sum_{j=1}^{N}C_{i,j}\cdot \sqrt{(G_{i,1}-L_{j,1})^2 + (G_{i,2}-L_{j,2})^2} \leq 85 \, , \,\, \forall i \in \{1,2, ..., 500\} \end{equation}

  4. \begin{equation} \sum_{j=1}^{N}C_{i,j} \leq 1\, , \,\, \forall i \in \{1,2, ..., 500\} \end{equation}

  5. \begin{equation} C_{i,j} \in \{0, 1\} \end{equation}

The optimization function is this one:

\begin{equation} f_1 = min \, \sum_{i=1}^{500}\sum_{j=1}^{N}C_{i,j}\cdot \sqrt{(G_{i,1}-L_{j,1})^2 + (G_{i,2}-L_{j,2})^2} \end{equation}

\begin{equation} f_2 = min \, N \end{equation}

To solve it, I thought about transforming this multiobjective problem into a set of monoobjective problems, by solving it for $N=1, N=2, ..., N=500$ (and I'll have to minimize only the function $f_1$ for different values of N). I have all the values of $G_{i,j}$ and $D_{i,j}$ given. I thought using The variable $C_{i,j}$ is a binary variable which can assume either the value 0 or 1, the variable $L_{i,j}$ can be any given real value. Do you guys can recommend me a optmization algorithm to accomplish such thing?

$\endgroup$
0

1 Answer 1

1
$\begingroup$

So you have $500$ customers and $100$ facilities, and $C_{i,j}$ indicates whether customer $i$ is assigned to facility $j$. Constraint 4 assigns each customer to at most one facility, and constraint 1 forces at least $475$ customers to be assigned. Constraint 2 imposes a capacity of $150$ on each facility. Constraint 3 looks like you are trying to assign customer $i$ at $(G_{i,1},G_{i,2})$ to a facility at location $(L_{j,1},L_{j,2})$ at most $85$ units away.

You might try searching for (capacitated) multi-source Weber problem.

$\endgroup$
1
  • $\begingroup$ Thanks @RobPartt, I will take a look. There was a typo on constraint 4. It was written equal to 1, but it should be less than or equal to one. Thus constraint 4 and 1 are not redudant anymore. The problem is exactly what you discribed. I'll take a closer look at the multi-source weber problem. $\endgroup$ Commented Jan 30, 2022 at 21:02

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.