Ampl Cplex QP Гессиан не является положительным полуопределенным. Нет оснований. ошибка - PullRequest
0 голосов
/ 30 апреля 2018

++ Появляющаяся ошибка, кажется, из-за нелинейных ограничений в моем файле модели. Я не могу найти конкретную зону конфликта. Приложенный ниже файл модели, который у меня есть под рукой. Я попытался удалить "=" из ограничений, а также переменной. Любая идея будет принята с благодарностью!

Надеемся, что комментарий поможет понять настройку, но основная программа - найти оптимальную прибыль от производства, отгрузки и расходов на продажу диванов и стульев из разных мест назначения.

 #Parameters

param I; #Number of Plants

param J; #Number of Products

param K; #Number of Raw Material

param P; #Number of Type of Paid hours

param L; #Number of Processes

param M; #Number of Supplies

param N; #Number of Cities

param r{k in 1..K,j in 1..J}; #amount of raw material k required per unit of product j

param q{j in 1..J}; #miscellaneous production cost (in dollars) per unit of product i produced

param z{p in 1..P}; #total type of working hours p (regular or overtime) available per month

param t{l in 1..L,j in 1..J,i in 1..I}; #time (in hours) required by process l to produce product j at plant i.

param e{p in 1..P}; #salary multiplier for regular/overtime (p) paid hours

param w{l in 1..L, i in 1..I}; #regular salary cost (in dollars) per hour for process l at plant i.

param c{m in 1..M,k in 1..K}; #cost (in dollars) per unit of raw material k from supplier m

param h{m in 1..M,i in 1..I}; #cost (in dollars) per unit of raw material shipped from supplier m to plant i.

param Price{j in 1..J,n in 1..N}; #selling price (in dollars) per unit of product j in city n.

param Low{j in 1..J,n in 1..N}; #minimum demand (in number of units) of product j in city n

param U{j in 1..I,n in 1..N}; #maximum demand (in number of units) of product j in city n

param s{j in 1..J,i in 1..I,n in 1..N}; #shipping cost (in dollars) for product j shipped from plant i to city n.

param D{m in 1..M,k in 1..K}; #maximum amount of raw material k available from supplier m per month.



#Decision Variables

var x{i in 1..I,j in 1..J,n in 1..N}>=0; #number of units of product j produced by regular hours, shipped from plant i to city n. and non-negativity

var y{i in 1..I,j in 1..J,n in 1..N}>=0; #number of units of product j produced by overtime hours, shipped from plant i to city n. and non-negativity

var d{m in 1..M,k in 1..K}>=0; # demand of raw material k required from supplier m. and non-negativity

var revenue=sum{i in 1..I, j in 1..J, n in 1..N}(x[i,j,n]*y[i,j,n])*Price[j,n]; #total revenue generated by selling products.

var rawMatCost=sum{m in 1..M,k in 1..K} d[m,k]*c[m,k]; #total cost of purchasing raw material.

var rawMatShipCost=sum{m in 1..M,k in 1..K,i in 1..I} d[m,k]*h[m,i]; #total cost of shipping raw material

var salCost=sum{i in 1..I,j in 1..J,l in 1..L,n in 1..N} (x[i,j,n]*e[1]+y[i,j,n]*e[2])*(t[l,j,i]*w[l,i]); #total salary paid.

var prodShipCost=sum{i in 1..I,j in 1..J,n in 1..N}(x[i,j,n]+y[i,j,n])*s[j,i,n]; #total cost of shipping products

var miscCost=sum{i in 1..I,j in 1..J,n in 1..N} (x[i,j,n]+y[i,j,n])*q[j]; #total miscellaneous cost.



#Objective function

maximize MonthProfit: 
(revenue-rawMatCost-rawMatShipCost-salCost-prodShipCost-miscCost); #Total Monthly Profit



subject to
RawConsumed1{k in 1..K}:sum{i in 1..I,j in 1..J,n in 1..N}(x[i,j,n]+y[i,j,n])*r[k,j]>=sum{m in 1..M}d[m,k]; #Raw Material Consumed

RawConsumed2{k in 1..K}:sum{i in 1..I,j in 1..J,n in 1..N}(x[i,j,n]+y[i,j,n])*r[k,j]<=sum{m in 1..M}d[m,k]; #Raw Material Consumed

rawSup{k in 1..K}:sum{m in 1..M}d[m,k]<=sum{m in 1..M}D[m,k]; #Raw Material Supplied

RegTConsum{i in 1..I,l in 1..L}:sum{j in 1..J,n in 1..N}x[i,j,n]*t[l,j,i]<=z[1]; #Regular Time consumption

OverTConsum{i in 1..I,l in 1..L}:sum{j in 1..J,n in 1..N}y[i,j,n]*t[l,j,i]<=z[2]; #Overtime Consumption

MinDemand{j in 1..J,n in 1..N}:sum{i in 1..I}(x[i,j,n]+y[i,j,n])>=Low[j,n]; #minimum Demand

MaxDemand{j in 1..J,n in 1..N}:sum{i in 1..I}(x[i,j,n]+y[i,j,n])<=U[j,n]; #Maximum Demand
...