help-glpk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-glpk] [Fwd: Using GLPK for DEA]


From: Darin England
Subject: Re: [Help-glpk] [Fwd: Using GLPK for DEA]
Date: Tue, 10 Jan 2012 15:23:26 -0600
User-agent: Mutt/1.5.17+20080114 (2008-01-14)

There are lots of variations on DEA, and I am not an expert, but
last year I wrote a small program to solve a basic DEA problem,
wherein we solve a series of LP problems, one for each Decision
Making Unit. Maybe this could be done entirely in GNU MathProg, but
the way I did it was to use the C API to GLPK. The code and a sample
problem are attached. The sample problem is the one for automobile
dealerships presented in Paul Williams book "Model Building in
Mathematical Programming". 

Maybe this example will be helpful to someone.

dea.mod is the model in Mathprog
dea.c solves the series of LPs
auto.dat is the sample data from Willams' book
makefile is to help with compilation

Darin

On Sun, Jan 08, 2012 at 08:40:45PM +0300, Andrew Makhorin wrote:
> -------- Forwarded Message --------
> From: Amogh Tolay <address@hidden>
> To: address@hidden
> Subject: Using GLPK for DEA
> Date: Sun, 8 Jan 2012 20:35:18 +0530
> 
> Dear Sir/Madam
> 
> 
> I have been trying to use GLPK to solve a Data Envelopment Problem using
> the CCR model. I am a novice and I was unable to find the way to
> implement such problems with GLPK. It would be great if you could help
> me out! The problem is to find the CCR efficiency of a two-input and
> two-output problem which is something as follows:
> Labels:    A     B     C     D
> Input1:    20,   19,   25,   27
> Input2:    151, 131, 160, 168
> 
> 
> Output1: 100, 150, 160, 180
> Output2:  90,  50,   55,   72
> 
> 
> I need to maximize the efficiency and find the corresponding weights.
> That is, I need to apply the CCR model with variable weights to optimize
> this problem. Thus, for Label A, the set of equations are: 
> (where u1, u2 are the weights for inputs of A and v1, v2 are the weights
> for outputs of A.)
> 
> 
> maximize 100v1+90v2;
> 
> 
> subject to:
> 20u1+151u2=1;
> 100v1+90v2<=20u1+151u2;
> 150v1+50v2<=19u1+131u2;
> 160v1+55v2<=25u1+160u2;
> 180v1+72v2<=27u1+168u2;
> 
> 
> where u1, u2, v1 and v2 are all greater than 0.
> 
> 
> I haven't been able to figure out as to how to implement this problem
> using GLPK without converting it to Standard Form. Is it necessary to
> convert such equations to Standard Form before using GLPK? If so, can
> you please guide me to convert such problems into a format that GLPK can
> handle? 
> I tried searching for documentation for such problems, but unfortunately
> I couldnt find anything. If I am missing some online
> resources/documentations which specifically deal with such problems, I
> would be glad if you could point them out to me.
> It would be really kind of you if you could help a novice like me. :)
> 
> Thank You
> --------
> Amogh
> 
> 
> 
> _______________________________________________
> Help-glpk mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/help-glpk

Attachment: auto.dat
Description: MOPAC data

Attachment: dea.c
Description: Text Data

Attachment: dea.mod
Description: Text document

Attachment: makefile
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]