MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

# Thread Subject: Automating an optimization routine

 Subject: Automating an optimization routine From: Gareth Lennox Date: 17 Nov, 2010 01:52:04 Message: 1 of 2 Hello Everybody, I'm a long time reader, first time begger! I wonder if anyone can help me automate an optimization routine. So basically i'm trying to solve maximum coverage problems. I'm using Matlab 2009 with the TOMLAB package that integrates cplex. These maximal coverage problems are in the context of conservation reserve selections and they have the following mathematical form (written mostly in latex speak), \max \sum_{i in I} y_{i} subject to, \sum_{j \in N_{i}} x_{j} >= y_{i} for all i \in I \sum_{j \in J} c_{j}.*x_{j} <= B where J is index set of candidate reserves, I denotes the index set of species that can be covered and N_{i}, a subset of J, is the set of candidate reserves that contain species i of the population. x_{j} and y_{i} are binary variables. x_{j} = 0 indicates that site j is not selected, 1 that it is. y_{i} = 0 indicates that species i is not in any of the selected reserves, 1 that it is in at least 1. So all this site by species (that is site 1 is row one, for example) info would be stored in a matrix with the costs in a vector. A trivial example would be something like A = [1 0 1;         0 0 1;         1 1 0]; c = [50 50 50]; B = 100; The code to solve this becomes toms -integer y1 y2 y3 x1 x2 x3 bnds = {0 <= [y1;y2;y3;y4;y5;y6;x1;x2;x3;x4] <= 1}; con = {y1<=x1+x3;            y2<=x3;            y3<=x1+x2;        49*(x1+x2+x3) <= 100};    obj = -(y1+y2+y3); [sol,res] = ezsolve(obj,{bnds, con}); So what i need to work out is a way for matlab to read the matrix A, the vector C and the scalar B, to then convert that into something that solves the associated optimization and then using the solution is able to update the matrix and/or vector and/or scalar then perform the new optimization. To anyone who's actually read all this, thank you muchly. To anyone who can help me on the way to the solution, i'll be eternally in your debt (in a non-fiduciary manner :D ) Cheers, Gareth
 Subject: Automating an optimization routine From: Gareth Lennox Date: 17 Nov, 2010 03:56:04 Message: 2 of 2 Update: I worked it out. Was rather easy in the end when i worked out have to apply array functions on the TOMSYM objects and how to then convert such objects back to matlab arrays. Cheers, Gareth