For different risk measures as min of CVaR,you wrote below AMPL,I want to do for portfolio like min variance ,how can I do?
%%writefile model4.mod
param samples > 0; # number of samples
param demand{1..samples} >= 0; # demand for each sample
param cost > 0; # procurement cost of each unit
param retail >= 0; # selling price of each unit
param recover < cost; # liquidation price of each unit
param minrev; # bound on minimum revenue
param maxrev; # bound on maximum revenue
param alpha >= 0, <= 1; # value at risk
var order >= 0; # number of units to order
var sales{i in 1..samples} >= 0, <= demand[i]; # sales of each sample
var discount{1..samples} >= 0; # scraped units of each sample
var profit{1..samples} >= minrev, <= maxrev; # profit of each sample
var nu >= minrev, <= maxrev;
var excess{1..samples} >= 0, <= maxrev - minrev;
# minimize CVaR
minimize obj: nu + (1.0 / ((1 - alpha) * samples)) * sum{i in 1..samples} excess[i];
# profit of each sample
s.t. sample_profit {i in 1..samples}: profit[i] == -cost * order + retail * sales[i] + recover * discount[i];
# sales and discount of each sample
s.t. sample_sales {i in 1..samples}: sales[i] + discount[i] == order;
# relation between excess and profit of each sample
s.t. sample_excess {i in 1..samples}: -profit[i] - nu <= excess[i];