Raw File
DataEnvelopmentAnalysis.jl
module DataEnvelopmentAnalysis

    """
        DataEnvelopmentAnalysis
    A Julia package for efficiency and productivity measurement using Data Envelopment Analysis (DEA).
    [DataEnvelopmentAnalysis repository](https://github.com/javierbarbero/DataEnvelopmentAnalysis.jl).
    """

    using JuMP
    using GLPK
    using Ipopt
    using SparseArrays
    using LinearAlgebra
    using InvertedIndices 
    using ProgressMeter
    using Printf: @sprintf
    using SnoopPrecompile
    using Statistics: std, quantile, quantile!, var   
    using StatsBase: CoefTable, iqr, minimum, sample
    using Distributed: @distributed
    using Distributions: Normal
    using SharedArrays: SharedMatrix, SharedVector, sdata
    using Random: AbstractRNG, default_rng

    import StatsAPI: confint
    import StatsBase: nobs, mean


    export
    # optimizer
    DEAOptimizer, 
    newdeamodel,

    # Types
    AbstractDEAModel,
    AbstractDEAPeers, AbstractDEAPeersDMU,
    DEAPeers, DEAPeersDMU,
    AbstractTechnicalDEAModel, AbstractRadialDEAModel, AbstractRadialMultiplierDEAModel,
    RadialDEAModel, RadialMultiplierDEAModel, AdditiveDEAModel, 
    DirectionalDEAModel, DirectionalMultiplierDEAModel,
    GeneralizedDFDEAModel, 
    RussellDEAModel, EnhancedRussellGraphDEAModel, ModifiedDDFDEAModel, 
    AbstractHolderDEAModel, HolderL1DEAModel, HolderL2DEAModel, HolderLInfDEAModel,
    ReverseDDFDEAModel,
    AbstractEconomicDEAModel,
    AbstractCostDEAModel, AbstractRevenueDEAModel, AbstractProfitDEAModel, AbstractProfitabilityDEAModel,
    CostDEAModel, RevenueDEAModel, ProfitDEAModel, ProfitabilityDEAModel,
    AbstractProductivityDEAModel,
    MalmquistDEAModel,
    AbstractBootstrapDEAModel, BootstrapRadialDEAModel, DEAReturnsToScaleTest,
    # All models
    nobs, ninputs, noutputs,
    # Peers
    peers, peersmatrix, ispeer,
    # Technical models
    dea, deam, deaadd, deaaddweights, deaddf, deaddfm, deagdf, 
    dearussell, deaerg, deamddf, deaholder, dearddf,
    deabigdata,
    efficiency, slacks, multipliers, rts,
    # Satatistical Analysis
    deaboot, confint, bandwidth, bias, 
    deartstest, criticalvalue,
    # Economic models
    deamincost, deamaxrevenue, deamaxprofit,
    deacost, dearevenue, deaprofit, deaprofitability, 
    normfactor, ismonetary,
    # Common technical and economic models
    targets,
    # Productivity models
    malmquist,
    nperiods, prodchange



    # Include code of functions
    include("optimizer.jl")

    include("model.jl")
    include("peers.jl")

    include("technical.jl")
    include("dea.jl")
    include("deam.jl")
    include("deaadd.jl")
    include("deaddfm.jl")
    include("deabigdata.jl")
    include("deaddf.jl")
    include("deagdf.jl")
    include("dearussell.jl")
    include("deaerg.jl")
    include("deamddf.jl")
    include("deaholder.jl")
    include("dearddf.jl")

    include("economic.jl")
    include("econoptim.jl")
    include("deacost.jl")
    include("dearevenue.jl")
    include("deaprofit.jl")
    include("deaprofitability.jl")

    include("productivity.jl")
    include("malmquist.jl")

    include("deaboot.jl")
    include("deartstest.jl")

    include("progressbarmeter.jl")
    
    function __init__()

        nothing
    end

    @precompile_setup begin
        X = [5 13; 16 12; 16 26; 17 15; 18 14; 23 6; 25 10; 27 22; 37 14; 42 25; 5 17.0]
        Y = [12; 14; 25; 26; 8; 9; 27; 30; 31; 26; 12.0]

        @precompile_all_calls begin
            dea(X, Y)
        end
    end

end # module
back to top