You are saving all of the dual values
param product_price {scenario,company,period,1..nCUT};
param shipment_price {scenario,company,company,period,1..nCUT};
param satisfy_price {scenario,order,company,1..nCUT};
With 15 scenarios, 20 orders, 63 companies, and 30 periods, this is over 1.8 million values added for each cut. However for your cut constraints you only need to save the coefficients of the master problem variables, which are
for each {i in company, k in 1..nCUT} --
sum {s in scenario, t in period_company[i]} product_price[s,i,t,k] * production_capacity[s,i,t]
for each {i in company, j in company, k in 1..nCUT} --
sum {s in scenario, t in period_company[i]} shipment_price[s,i,j,t,k] * ship_capacity[i,j,t]
for each {k in 1..nCUT} --
sum {s in scenario, j in order, i in order_Company[j]} satisfy_price[s,j,i,k]*1;
Instead of product_price, shipment_price, satisfy_price, you can consider defining some params to hold just this smaller number of values.