Blending Problem I
TomSym implementation of GAMS Example (BLEND,SEQ=2)
A company wishes to produce a lead-zinc-tin alloy at minimal cost. The problem is to blend a new alloy from other purchased alloys.
Dantzig, G B, Chapter 3.4. In Linear Programming and Extensions. Princeton University Press, Princeton, New Jersey, 1963.
alloy: products on the market (a, b, c, d, e, f, g, h, i)
elem: required elements (lead, zinc, tin)
% Composition data (percent) compdat = [10 10 40 60 30 30 30 50 20; 10 30 50 30 30 40 20 40 30; 80 60 10 10 40 30 50 10 50]; % Alloy price price = [4.1 4.3 5.8 6.0 7.6 7.5 7.3 6.9 7.3]; % Parameters rb(elem) required blend / lead = 30, zinc = 30, tin = 40 / % ce(alloy) composition error (pct-100); % Required blend (lead = 30, zinc = 30, tin = 40) rb = [30;30;40]; % Variables % Purchase of alloy (pounds) toms 9x1 alloy % Variable has to be positive bnd = {alloy >= 0}; % Purchase constraint pc = {rb == compdat*alloy}; % Material balance mb = {1 == sum(alloy)}; % Accounting: total cost phi = price*alloy; options = struct; options.name = 'Blend'; solution = ezsolve(phi,{pc, mb, bnd},{},options);
Problem type appears to be: lp ===== * * * =================================================================== * * * TOMLAB - Tomlab Optimization Inc. Development license 999001. Valid to 2010-02-05 ===================================================================================== Problem: --- 1: Blend f_k 4.979999999999999500 sum(|constr|) 0.000000000000000711 f(x_k) + sum(|constr|) 4.980000000000000400 f(x_0) 0.000000000000000000 Solver: CPLEX. EXIT=0. INFORM=1. CPLEX Dual Simplex LP solver Optimal solution found FuncEv 3 Iter 3