Production of Alloys
Contents
Problem description
The company Steel has received an order for 500 tonnes of steel to be used in shipbuilding. This steel must have the following characteristics (‘grades’).
Characteristics of steel ordered
+---------------+-------+-------+ |Chemical |Minimum|Maximum| |Element |Grade |Grade | +---------------+-------+-------+ |Carbon (C) | 2.0 | 3.0 | |Copper (Cu) | 0.4 | 0.6 | |Manganese (Mn) | 1.2 | 1.65 | +---------------+-------+-------+
The company has seven different raw materials in stock that may be used for the production of this steel. The table below lists the grades, available amounts and prices for all raw materials.
Raw material grades, availabilities, and prices
+----------------+---+----+----+------------+----+ |Raw material |C %|Cu %|Mn %|Availability|Cost| +----------------+---+----+----+------------+----+ |Iron alloy 1 |2.5| 0 |1.3 | 400 |200 | |Iron alloy 2 | 3 | 0 |0.8 | 300 |250 | |Iron alloy 3 | 0 | 0.3|0 | 600 |150 | |Copper alloy 1 | 0 | 90 |0 | 500 |220 | |Copper alloy 2 | 0 | 96 |4 | 200 |240 | |Aluminum alloy 1| 0 | 0.4|1.2 | 300 |200 | |Aluminum alloy 2| 0 | 0.6|0 | 250 |165 | +----------------+---+----+----+------------+----+
The objective is to determine the composition of the steel that minimizes the production cost.
Variables
compsize Amount of steel to produce mincomp Minimal contents of each component. maxcomp Maximal contents of each component. rawcompmat Contents of raw material. rawavail Amount available of raw material. rawcost Cost of raw material.
Reference
Applications of optimization... Gueret, Prins, Seveaux
% Marcus Edvall, Tomlab Optimization Inc, E-mail: tomlab@tomopt.com % Copyright (c) 2005-2009 by Tomlab Optimization Inc., $Release: 7.2.0$ % Written Oct 7, 2005. Last modified Apr 8, 2009.
Problem setup
compsize = 500; mincomp = [2;.4;1.2]; maxcomp = [3;.6;1.65]; rawcompmat = [[2.5; 3; 0; 0; 0; 0; 0],... [ 0; 0; .3; 90; 96; .4; .6],... [1.3; .8; 0; 0; 4;1.2; 0]]; rawavail = [ 400;300;600;500;200;300;250]; rawcost = [ 200;250;150;220;240;200;165]; comp = tom('comp',7,1); objective = rawcost'*comp; prodcons = {compsize == sum(comp)}; compminmax = {mincomp*compsize <= rawcompmat'*comp <= maxcomp*compsize}; availcons = {0 <= comp <= rawavail}; constraints = {prodcons, compminmax, availcons}; options = struct; options.solver = 'cplex'; options.name = 'Production of Alloys'; sol = ezsolve(objective,constraints,[],options); PriLev = 1; if PriLev > 0 names = [ 'Iron 1' ; 'Iron 2' ; 'Iron 3' ; 'Copp 1' ; ... 'Copp 2' ; 'Alum 1' ; 'Alum 2']; disp('the optimal steel contains:'); for i = 1:length(sol.comp), if sol.comp(i) > 0, disp([' ' num2str(sol.comp(i)) ' tonnes of ' names(i,:) ]) end end end % MODIFICATION LOG % % 051007 med Created. % 060110 per Added documentation. % 060125 per Moved disp to end % 090308 med Converted to tomSym
Problem type appears to be: lp ===== * * * =================================================================== * * * TOMLAB - Tomlab Optimization Inc. Development license 999001. Valid to 2010-02-05 ===================================================================================== Problem: --- 1: Production of Alloys f_k 98121.635791681227000000 sum(|constr|) 0.000000000000000568 f(x_k) + sum(|constr|) 98121.635791681227000000 f(x_0) 0.000000000000000000 Solver: CPLEX. EXIT=0. INFORM=1. CPLEX Dual Simplex LP solver Optimal solution found FuncEv 5 Iter 5 the optimal steel contains: 400 tonnes of Iron 1 39.7763 tonnes of Iron 3 2.7613 tonnes of Copp 2 57.4624 tonnes of Alum 1