Learn R Programming

iemisc (version 0.5.0)

benefitcost: Benefit-Cost Ratio (Engineering Economics)

Description

Compute the benefit-cost ratio between two alternatives

Usage

benefitcost(ic1, n1, ac1, ab1, i1, salvage1, ic2, n2, ac2, ab2, i2, salvage2,
  option1, option2, table = c("ptable", "rtable", "both"))

Arguments

ic1
numeric vector that contains the initial cost for option 1
n1
numeric vector that contains the useful life (years) for option 1
ac1
numeric vector that contains the annual cost [operations & maintenance (O&M)] for option 1
ab1
numeric vector that contains the annual benefits for option 1
i1
numeric vector that contains the effective interest rate per period as a percent for option 1
salvage1
numeric vector that contains the salvage value for option 1
ic2
numeric vector that contains the initial cost for option 2
n2
numeric vector that contains the useful life (years) for option 2
ac2
numeric vector that contains the annual cost [operations & maintenance (O&M)] for option 2
ab2
numeric vector that contains the annual benefits for option 2
i2
numeric vector that contains the effective interest rate per period as a percent for option 2
salvage2
numeric vector that contains the salvage value for option 2
option1
character vector that contains the name of option for option 1
option2
character vector that contains the name of option for option 2
table
character vector that contains the table output table format (ptable, rtable, or both)

Value

  • data.frame with character vectors with the monetary values having thousands separator in a pretty table (ptable) & message with the best option, data.frame with numeric vectors without the thousands separator in regular table (rtable) & a message with the best option, or both options combined in a list

encoding

UTF-8

Details

Benefit is expressed as

$$Benefit = AB\left[\frac{\left(1 + i\right)^n - 1}{i\left(1 + i\right)^n}\right]$$

[object Object],[object Object],[object Object],[object Object]

Cost is expressed as

$$Cost = PC + OM\left[\frac{\left(1 + i\right)^n - 1}{i\left(1 + i\right)^n}\right] - S\left[\frac{1}{\left(1 + i\right)^n}\right]$$

[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Benefit-Cost ratio is expressed as

$$BC = \frac{B_2 - B_1}{C_2 - C_1} \geq 1$$

[object Object],[object Object],[object Object],[object Object],[object Object]

References

  1. Michael R. Lindeburg, PE,EIT Review Manual, Belmont, California: Professional Publications, Inc., 1996, page 14-2, 14-4.
  2. William G. Sullivan, Elin M. Wicks, and C. Patrick Koelling,Engineering Economy, Fourteenth Edition, Upper Saddle River, New Jersey: Pearson/Prentice Hall, 2009, page 133, 142, 442-443, 452-453.

Examples

Run this code
library(iemisc)
# Example from Lindeburg Reference text (page 14-4)
benefitcost(ic1 = 300000, n1 = 10, ac1 = 45000, ab1 = 150000, i1 = 10,
salvage1 = 0, ic2 = 400000, n2 = 10, ac2 = 35000, ab2 = 200000, i2 = 10,
salvage2 = 10000, option1 = "A", option2 = "B", table = "rtable")


# This is useful for saving the results as the named data.frame rtable
rtable <- benefitcost(ic1 = 300000, n1 = 10, ac1 = 45000, ab1 = 150000,
i1 = 10, salvage1 = 0, ic2 = 400000, n2 = 10, ac2 = 35000, ab2 = 200000,
i2 = 10, salvage2 = 10000, option1 = "A", option2 = "B", table = "rtable")


# This is useful for saving the results as the named data.frame ptable
ptable <- benefitcost(ic1 = 300000, n1 = 10, ac1 = 45000, ab1 = 150000,
i1 = 10, salvage1 = 0, ic2 = 400000, n2 = 10, ac2 = 35000, ab2 = 200000,
i2 = 10, salvage2 = 10000, option1 = "A", option2 = "B", table = "ptable")


# This is useful for saving the results as the named list of 2 data.frames
# called both
both <- benefitcost(ic1 = 300000, n1 = 10, ac1 = 45000, ab1 = 150000,
i1 = 10, salvage1 = 0, ic2 = 400000, n2 = 10, ac2 = 35000, ab2 = 200000,
i2 = 10, salvage2 = 10000, option1 = "A", option2 = "B", table = "both")




# Example 10-8 from the Sullivan Reference text (page 452-453)
project <- benefitcost(ic1 = 750000, n1 = 35, ac1 = 120000, ab1 = 245000,
i1 = 9, salvage1 = 0, ic2 = 625000, n2 = 25, ac2 = 110000, ab2 = 230000,
i2 = 9, salvage2 = 0, option1 = "Project I", option2 = "Project II",
table = "rtable")

Run the code above in your browser using DataLab