Условия баланса в объявлениях node могут быть неравенствами, как обычные алгебраические ограничения баланса. Если производство на заводе иногда может превышать общий спрос на складах, целесообразно указать это условие в декларации узла Plant, в виде net_out <= p_supply. В декларации дуги можно указать потери при транспортировке, добавив множитель в конце фразы to:
arc PD_Ship {i in D_CITY} >= 0, <= pd_cap[i], from Plant, to Dist[i] 1-pd_loss[i], obj Total_Cost pd_cost[i];
Это интерпретируется как указание, что PD_Ship [i] - это количество пакетов, которые покидают узел Plant, а 1-pd_loss[i]) * PD_Ship[i] - это число, которое входит в узел Dist [i]. Тот же параметр можно использовать для указания преобразований. Чтобы использовать наш предыдущий пример, если поставки измеряются тысячами упаковок, а потребности измеряются в картонных коробках, дуги от распределительных центров до складов должны быть объявлены так:
arc DW_Ship {(i,j) in DW_LINKS} >= 0, <= dw_cap[i,j], from Dist[i], to Whse[j] (1000/ppc), obj Total_Cost dw_cost[i,j];
Если отгрузка на склады также измеряется в картонных коробках, в распределительном центре следует применять коэффициент:
arc DW_Ship {(i,j) in DW_LINKS} >= 0, <= dw_cap[i,j], from Dist[i] (ppc/1000), to Whse[j], obj Total_Cost dw_cost[i,j];
В этих примерах к фразе to можно также применить коэффициент потерь.