# Good day. I”m trying to solve this problem but it gives an error on AMPl

**URL:** https://discuss.ampl.com/t/good-day-i-m-trying-to-solve-this-problem-but-it-gives-an-error-on-ampl/2100
**Category:** Support
**Created:** [March 28, 2025, 10:58am UTC](https://discuss.ampl.com/t/good-day-i-m-trying-to-solve-this-problem-but-it-gives-an-error-on-ampl/2100 "2025-03-28T10:58:36Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![edy\_munguambe](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.ampl.com/edy_munguambe/32/894_2.png) [@edy\_munguambe](https://discuss.ampl.com/u/edy_munguambe)
#### Post date: [March 28, 2025, 10:58am UTC](https://discuss.ampl.com/t/good-day-i-m-trying-to-solve-this-problem-but-it-gives-an-error-on-ampl/2100/1 "2025-03-28T10:58:36Z")

</div>

```auto
# ========================
# Modelo de Otimização - Técnica dos Pontos de Referência
# ========================

# 1. Conjuntos
set I := i1, i2, i3, i4; # Conjunto de Plantas
set J := j1, j2, j3; # Conjunto de Produtos
set K := k1, k2, k3, k4, k5; # Conjunto de Mercados
set L := l1, l2, l3, l4; # Conjunto de Centros de Coleta

# 2. Parâmetros
param A{J}, B{J}, C{J}, D{J}, O{J}, G{J}, H{J}; # Custos variáveis (produção, transporte, recuperação, descarte)
param E{I}, F{L}; # Custos fixos de abertura
param P{I,J}, Q{L,J}; # Capacidades das plantas e centros de coleta
param d{K,J}, r{K,J}; # Demanda e retorno
param alpha{J}; # Fração mínima de descarte
param M{I,J}, N{L,J}; # Parâmetros ambientais (sustentabilidade)
param t_ik{I,K}, t_kl{K,L}, t_li{L,I}, t_l{L}; # Distâncias

# 3. Parâmetros de Referência
param Z1_ref; # Valor de referência para o custo total
param Z2_ref; # Valor de referência para a sustentabilidade

# 4. Variáveis de Decisão
var X{I, K, J} >= 0; # Quantidade de produto j enviado da planta i para o mercado k
var Y{K, L, J} >= 0; # Quantidade de produto j retornado do mercado k para o centro de coleta l
var S{L, I, J} >= 0; # Quantidade de produto j enviado do centro de coleta l para a planta i (para reciclagem)
var T{L, J} >= 0; # Quantidade de produto j descartada no centro de coleta l
var Z{I} binary; # 1 se a planta i estiver aberta; 0 caso contrário
var W{L} binary; # 1 se o centro de coleta l estiver aberto; 0 caso contrário

# 5. Variável Auxiliar para o Desvio Máximo
var T_var >= 0;

# 6. Função Objetivo: Minimizar o Desvio Máximo em Relação aos Pontos de Referência
minimize Objective:
    T_var;

# 7. Restrições de Aproximação aos Pontos de Referência

subject to Ref1:
    T_var >= abs(
      ( sum {i in I} E[i]*Z[i] + sum {l in L} F[l]*W[l]
      + sum {i in I, k in K, j in J} (A[j] + B[j]*t_ik[i,k]) * X[i,k,j]
      + sum {k in K, l in L, j in J} C[j]*t_kl[k,l]*Y[k,l,j]
      + sum {l in L, i in I, j in J} (-G[j] + D[j]*t_li[l,i]) * S[l,i,j]
      + sum {l in L, j in J} (H[j] + O[j]*t_l[l])*T[l,j] ) - Z1_ref );

subject to Ref2:
    T_var >= abs(
      ( sum {i in I, j in J} M[i,j]*( sum {k in K} X[i,k,j] + sum {l in L} S[l,i,j] )
      + sum {l in L, j in J} N[l,j]*( sum {k in K} Y[k,l,j] + sum {i in I} S[l,i,j] + T[l,j] ) ) - Z2_ref );

# 8. Outras Restrições do Modelo

# 8.1 Atendimento da Demanda: A produção enviada das plantas deve atender à demanda dos mercados
subject to Atendimento_Demanda {k in K, j in J}:
    sum {i in I} X[i,k,j] >= d[k,j];

# 8.2 Capacidade das Plantas: O total de produtos processados em uma planta não pode exceder sua capacidade
subject to Capacidade_Plantas {i in I, j in J}:
    sum {l in L} S[l,i,j] + sum {k in K} X[i,k,j] <= Z[i] * P[i,j];

# 8.3 Fluxo de Produtos Retornados: Os produtos retornados não podem ser maiores que os enviados inicialmente
subject to Fluxo_Produtos_Retornados {k in K,

```

 ![Abrir Dados_Edilson DMO](https://us1.discourse-cdn.com/flex019/uploads/ampl/original/1X/0fb5cb7a89c609ccfe2d168b545b0dd222fa8666.png)

---

<div class="post-metadata">

### Author: ![4er](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.ampl.com/4er/32/530_2.png) [@4er](https://discuss.ampl.com/u/4er)
#### Post date: [March 28, 2025, 8:36pm UTC](https://discuss.ampl.com/t/good-day-i-m-trying-to-solve-this-problem-but-it-gives-an-error-on-ampl/2100/2 "2025-03-28T20:36:31Z")

</div>

To get help, provide a complete example that someone else can run to reproduce and analyze the error:

- Be sure to include the complete model. It seems that part of constraint `Fluxo_Produtos_Retornados` is missing.
- Show all of the statements that you tried to execute in AMPL, including the statements for reading the data.
- Use the up-arrow icon (above the editor window) to upload the spreadsheet file as an attachment to your reply.

Also, copy _all lines_ of the error message into your reply

---

<div class="post-metadata">

### Author: ![edy\_munguambe](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.ampl.com/edy_munguambe/32/894_2.png) [@edy\_munguambe](https://discuss.ampl.com/u/edy_munguambe)
#### Post date: [April 1, 2025, 8:40am UTC](https://discuss.ampl.com/t/good-day-i-m-trying-to-solve-this-problem-but-it-gives-an-error-on-ampl/2100/3 "2025-04-01T08:40:11Z")

</div>

![IMG_6455](https://us1.discourse-cdn.com/flex019/uploads/ampl/original/1X/08c076bd27def544ff792f7060c26e7961a55f3f.jpeg)  
![IMG\_6458|242x500]

---

<div class="post-metadata">

### Author: ![edy\_munguambe](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.ampl.com/edy_munguambe/32/894_2.png) [@edy\_munguambe](https://discuss.ampl.com/u/edy_munguambe)
#### Post date: [April 1, 2025, 8:41am UTC](https://discuss.ampl.com/t/good-day-i-m-trying-to-solve-this-problem-but-it-gives-an-error-on-ampl/2100/4 "2025-04-01T08:41:31Z")

</div>

Show how to formulaste it
