Download presentation
Presentation is loading. Please wait.
Published byMatthew Douglas Modified over 9 years ago
1
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.1 Table of Contents Chapter 10 (Nonlinear Programming) The Challenges of Nonlinear Programming (Section 10.1)10.2–10.16 NLP with Decreasing Marginal Returns: Wyndor (Section 10.2)10.17–10.21 NLP with Decreasing Marginal Returns: Portfolio Selection (Section 10.2)10.22–10.26 Separable Programming (Section 10.3)10.27–10.39 Difficult Nonlinear Programming Problems (Section 10.4)10.40–10.41 Evolutionary Solver and Genetic Algorithms (Section 10.5)10.42–10.50 Nonlinear and Separable Programming (UW Lecture)10.51–10.66 These slides are based upon a lecture from the MBA elective course “Modeling with Spreadsheets” at the University of Washington (as taught by one of the authors). Evolutionary Solver (UW Lecture)10.67–10.78 These slides are based upon a lecture from the MBA elective course “Modeling with Spreadsheets” at the University of Washington (as taught by one of the authors).
2
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.2 Examples of Linear and Nonlinear Formulas Linear FormulasNonlinear Formulas SUMPRODUCT(D4:D6, C4:C6) [(D1 + D2) / D3] * C4 IF(D2 >= 2, 2*C3, 3*C4) SUMIF(D1:D6, 4, C1:C6) SUM(D4:D6) 2*C1 + 3*C4 + C6 C1 + C2 + C3 SUMPRODUCT(C4:C6, C1:C3) [(C1 + C2) / C3] * D4 IF(C2 >= 2, 2*C3, 3*C4) SUMIF(C1:C6, 4, D1:D6) ROUND(C1) MAX(C1, 0) MIN(C1, C2) ABS(C1) SQRT(C1) C1 * C2 C1 / C2 C1 ^2 Data cells are located in D1:D6 and changing cells are in C1:C6.
3
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.3 The Challenges of Nonlinear Programming Nonlinear programming is used to model nonproportional relationships between activity levels and the overall measure of performance, whereas linear programming assumes a proportional relationship. Constructing the nonlinear formula(s) needed for a nonlinear programming model is considerably more difficult than developing the linear formulas used in linear programming. Solving a nonlinear programming model is often much more difficult (if it is possible at all) than solving a linear programming model.
4
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.4 The Challenge of Nonproportional Relationships Proportionality Assumption of Linear Programming: The contribution of each activity to the value of the objective function is proportional to the level of the activity. In other words, the term in the objective function involving this activity consists of a coefficient times the decision variable. Nonlinear programming problems arise when any activity has a nonproportional relationship where the contribution of the activity to the measure of performance is not proportional to the level of the activity.
5
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.5 Profit Graphs for Wyndor Glass Co. (Proportional Relationship)
6
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.6 Profit Graphs with Nonproportional Relationships Decreasing Marginal Returns Piecewise Linear with Decreasing Marginal Returns
7
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.7 Profit Graphs with Nonproportional Relationships Decreasing Marginal Returns Except for Discontinuities Increasing Marginal Returns
8
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.8 Constructing a Nonlinear Formula
9
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.9 Add Trendline Dialogue Box
10
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.10 Add Trendline Options
11
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.11 The Trendline (Quadratic Equation)
12
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.12 Solving Nonlinear Programming Models Consider the following model in algebraic form: Maximize Profit = 0.5x 5 – 6x 4 + 24.5x 3 – 39x 2 + 20x subject to x ≤ 5 x ≥ 0
13
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.13 Solver Solution Starting with x = 0
14
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.14 Solver Solution Starting with x = 3
15
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.15 Solver Solution Starting with x = 4.7
16
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.16 The Profit Graph
17
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.17 Original Wyndor Glass Co. Spreadsheet
18
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.18 Wyndor Glass with Marketing Costs Market research indicates that Wyndor could sell small numbers of doors and windows with no advertising. However, extensive advertising would be required to sell all that could be produced. A curve-fitting procedure was used to estimate the weekly marketing costs required to sustain a production rate of D doors and W windows: –Marketing cost for doors = $25D 2 –Marketing costs for windows = ($66 2 / 3 )W 2 The gross profit per door sold is about $375, and the gross profit per window is about $700. Therefore, the net profits are as follows: –Net profit for doors = $375D – $25D 2 Net profit for windows = $700W – ($66 2 / 3 )W 2 Thus, the revised objective function is Maximize Profit = $375D – 25D 2 + $700W –($66 2 / 3 )W 2 Question: Considering the nonlinear marketing costs, how many doors and windows should Wyndor produce?
19
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.19 Profit Graphs for Doors and Windows
20
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.20 Spreadsheet Formulation
21
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.21 Graphical Display of Nonlinear Formulation
22
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.22 Portfolio Selection It is now common practice for professional managers of large stock portfolios to use computer models based on nonlinear programming to guide them. Investors are concerned about both the expected return and the risk. One way of formulating their approach is as a nonlinear version of a cost- benefit trade-off problem: –Minimize Risk subject to Expected return ≥ Minimum acceptable level Consider a portfolio with 3 stocks. Question: What is the portfolio that will minimize the risk subject to achieving at least an 18% expected return?
23
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.23 Data for Stocks Stock Expected Return Risk (Standard Deviation) Pair of Stocks Joint Risk per Stock (Covariance) 121%25%1 and 20.040 230451 and 3–0.005 3852 and 3–0.010
24
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.24 Algebraic Formulation Minimize Risk = (0.25S 1 ) 2 +(0.45S 2 ) 2 +(0.05S 3 ) 2 +2(0.04)S 1 S 2 +2(–0.005)S 1 S 3 +2(–0.01)S 2 S 3 subject to (21%)S 1 + (30%)S 2 + (8%)S 3 ≥ 18% S 1 + S 2 + S 3 = 100% and S 1 ≥ 0, S 2 ≥ 0, S 3 ≥ 0.
25
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.25 Spreadsheet Model
26
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.26 Using Solver Table to Examine Trade-Offs Between Expected Return and Risk
27
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.27 Wyndor Glass When Overtime is Needed Wyndor Glass has accepted a special order for hand-crafted goods to be made in plants 1 and 2 throughout the next four months. Filling this order will require borrowing certain employees from the work crews of regular products. The remaining workers will need to work overtime to utilize the full production capacity of each plant’s machinery for the regular products. The original constraints of Hours Used ≤ Hours Available are still valid. However, the objective function will need to be modified because of the additional cost of using overtime work. In particular, because of the additional cost, the profit per unit will be reduced for those units that require overtime. Question: Considering overtime costs, how many doors and windows should Wyndor produce?
28
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.28 Data for Wyndor When Overtime is Needed Maximum Weekly Production Profit per Unit Produced Product Regular TimeOvertimeTotal Regular TimeOvertime Doors314$300$200 Windows336500100 (and 3D + 2W ≤ 18)
29
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.29 Profit Graphs for Doors and Windows
30
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.30 The Separable Programming Technique For each activity that violates the proportionality assumption, separate its profit graph into parts, with a line segment in each part. Then, instead of using a single decision variable to represent the level of each such activity, introduce a separate new decision variable for each line segment on that activity’s profit graph. Since the proportionality assumption holds for these new decision variables, formulate a linear programming model in terms of these variables. For the Wyndor problem, these new decision variables are –D R = Number of doors produced per week on regular time –D O = Number of doors produced per week on overtime –W R = Number of windows produced per week on regular time W O = Number of windows produced per week on overtime
31
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.31 Separable Programming Spreadsheet Model
32
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.32 Separable Programming with Smooth Profit Graphs
33
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.33 Advantages of Separable Programming The Excel Solver can readily solve nonlinear problems that have decreasing marginal returns, with the advantage that no approximation is needed. However, the separable programming approach also has certain advantages: –Converting the problem into a linear programming problem tends to make it quicker to solve, which can be very helpful for large problems. –A linear programming formulation makes available Solver’s Sensitivity Report. –Separable programming only requires estimating the profit from each activity at a few points. Therefore, it is not necessary to use a curve fitting method to estimate the formula for the profit graph.
34
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.34 Wyndor Problem with Both Overtime Costs and Nonlinear Marketing Costs The previous spreadsheet model does not include nonlinear marketing costs. Recall that the curve-fitting procedure was used to estimate the weekly marketing costs required to sustain a production rate of D doors and W windows: –Marketing cost for doors = $25D 2 –Marketing costs for windows = ($66 2 / 3 )W 2 Question: Considering both overtime costs and nonlinear marketing costs, how many doors and windows should Wyndor produce?
35
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.35 Data for Wyndor with Overtime Costs and Nonlinear Marketing Costs Maximum Weekly Production Gross Unit Profit Product Regular TimeOvertimeTotal Regular TimeOvertime Marketing Costs Doors314$375$275$25D 2 Windows33670030066 2 / 3 W 2
36
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.36 Weekly Profit from Producing Doors D Gross Profit Marketing CostsProfit Incremental Profit 0$0 — 137525350 2750100650300 31,125225900250 41,4004001,000100
37
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.37 Weekly Profit from Producing Windows W Gross Profit Marketing CostsProfit Incremental Profit 0$0 — 170066 2 / 3 633 1 / 3 21,400266 2 / 3 1,133 1 / 3 500 32,1006001,500366 2 / 3 42,4001,066 2 / 3 1,333 1 / 3 –166 2 / 3 52,7001,666 2 / 3 1,033 1 / 3 –300 63,0002,400600–433 1 / 3
38
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.38 Separable Programming Spreadsheet Model
39
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.39 Nonlinear Programming Spreadsheet Model
40
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.40 Difficult Nonlinear Programming Problems Even if a model has a nonlinear objective function, so long as the model has certain properties (e.g., linear constraints, decreasing marginal returns), the Solver can easily find an optimal solution. In some cases separable programming can be used to model a nonlinear problem in such a way that linear programming can be used. However, if a problem has increasing marginal returns, or nonlinear functions in the constraints, or disconnected profit graphs, finding a solution is often much more difficult. –such problems may have many local optima –Solver can get stuck at local optima, rather than finding the global optimum One approach with such problems is to solve the problem many times, each time starting with a different initial solution. –Solver Table can be used to do this process more systematically when there are only one or two variables.
41
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.41 Using Solver Table to Try Different Starting Points
42
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.42 Evolutionary Solver and Genetic Algorithms Evolutionary Solver uses an entirely different approach than the standard Solver to search for an optimal solution for a model. The philosophy of Evolutionary Solver is based on genetics, evolution and the survival of the fittest. Hence, this type of algorithm is sometimes called a genetic algorithm. The standard Solver starts with a single solution, and then moves in directions that will improve this solution. Evolutionary Solver begins by randomly generating a whole population of solutions. After generating the population, Evolutionary Solver creates a new generation by pairing off solutions in the population to create “offspring”, combining some elements from each parent.
43
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.43 Evolutionary Solver and Genetic Algorithms Among solutions in the population, some will be good (or “fit”) and some will be bad (or “unfit”), as measured by evaluating the objective function. Borrowing from the principles of evolution and survival of the fittest, the “fit” members are allowed to reproduce more frequently than the unfit members. Another key feature is mutation. Like gene mutation in biology, Evolutionary Solver will occasionally make a random change in a member of the population. This helps the algorithm get unstuck if it is getting trapped near a local optimum. Evolutionary Solver keeps creating new generations of solutions until there have been no improvements for several consecutive generations.
44
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.44 Selecting a Portfolio to Beat the Market A common goal of portfolio managers is to beat the market. If we assume that past performance is somewhat of an indicator of the future, then picking a portfolio that beat the market most often in the past might yield a portfolio that will more than likely beat the market in the future. Consider a portfolio of five large stocks traded on the New York Stock Exchange (NYSE): –America Online (AOL) –Boeing (BA) –Ford (F) –Procter & Gamble (PG) –McDonald’s (MCD) Question: What mix of these five stocks will yield a portfolio that is likely to beat the market in the future?
45
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.45 Spreadsheet Model
46
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.46 Premium Solver Dialogue Box
47
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.47 Solver Options Dialogue Box
48
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.48 Limit Options Dialogue Box
49
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.49 Evolutionary Solver Spreadsheet Solution
50
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.50 Advantages and Disadvantages of Evolutionary Solver Evolutionary Solver has two significant advantages over the standard Solver for solving difficult nonlinear programming problems: –The complexity of the objective function does not matter. As long as the function can be evaluated for a given candidate solution (to determine the level of fitness), it does not matter if the function has kinks, discontinuities, or many local optima. –By evaluating whole populations of candidate solutions, Evolutionary Solver keeps from getting trapped at a local optimum. Even if the whole population evolves toward a locally optimal solution, mutation allows the possibility of getting unstuck. However, Evolutionary Solver is not a panacea. –It can take much longer that standard Solver to find a final solution. –Evolutionary Solver does not perform well on models that have many constraints. –Evolutionary Solver is a random process. Running it again on the same model usually will yield a different solution. –The best solution found is typically not optimal (although it may be very close).
51
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.51 Nonlinear Programming Consider the following model for a nonlinear programming problem: Maximize Profit = 0.5x 5 – 6x 4 + 24.5x 3 – 39x 2 + 20x subject to 0 ≤ x ≤ 5
52
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.52 Solver Solution Starting with x = 0
53
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.53 Solver Solution Starting with x = 3
54
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.54 Solver Solution Starting with x = 4.7
55
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.55 The Profit Graph
56
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.56 Problems That Solver will Solver Correctly A maximization problem with linear constraints and a concave objective function. A Concave Function
57
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.57 Problems That Solver will Solver Correctly A minimization problem with linear constraints and a convex objective function. A Convex Function
58
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.58 Quality Furniture Corporation The Quality Furniture Corporation manufactures two products: benches and tables. They employ three carpenters. During the next week, 120 hours of labor are available at regular wages ($8 per hour). Up to 30 hours of overtime can be used at a wage rate of $12 per hour. Up to 30 hours of weekend time can be utilized at a wage rate of $16 per hour. 540 pounds of wood is available at a cost of $2 per pound. Each bench requires 3 labor hours and 12 pounds of wood. Each table requires 6 labor hours and 38 pounds of wood. Completed benches sell for $80 each, and tables sell for $200 each. Question: How many benches and how many tables should be produced?
59
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.59 Outdoor Furniture Labor Costs
60
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.60 Nonlinear Programming Spreadsheet
61
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.61 Outdoor Furniture Labor Costs
62
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.62 Separable Programming Spreadsheet
63
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.63 Advertising Example
64
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.64 The Sales Function
65
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.65 Approximating a Nonlinear Function
66
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.66 Advertising Example Using Separable Programming
67
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.67 Evolutionary Solver The standard Solver has difficulty with problems that are –highly nonlinear –are not smooth (have “kinks” in the objective) –have discontinuities (the objective jumps in value) –have many local optima (many hills and valleys) Excel functions like IF, MAX, ABS, ROUND, etc., tend to cause one or more of these problems.
68
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.68 Premium Solver Included on the textbook CD is the “Premium Solver”. After installing, a new button (“Premium”) is added to Solver.
69
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.69 Premium Solver Clicking on the “Premium” button switches to Premium Solver, which gives the option of three different solvers. –Standard GRG Nonlinear is equivalent to the regular Solver without choosing “Assume Linear Model”. –Standard Simplex LP is equivalent to the regular Solver with choosing “Assume Linear Model”. –Standard Evolutionary uses a genetic evolutionary algorithm that is only available with Premium Solver.
70
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.70 How Genetic Algorithms (Evolutionary Solver) Work Genetic algorithms (such as Evolutionary Solver) use principles from the theory of evolution. The Population: a large set of random solutions is generated. Level of fitness: each member of the population (solution) is evaluated to determine its level of “fitness” (value of objective). Evolution: a new generation (set of solutions) is created as follows: –Reproduction: pairs reproduce and create new solutions that share some properties of each. –Survival of the Fittest: more “fit” solutions reproduce more frequently, less “fit” solutions are allowed to die out. –Mutation: occasionaly random “mutations” are introduced.
71
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.71 Inventory Ordering Policy with Quantity Discounts Consider a manufacturer that orders a given part from a supplier. They require 10,000 parts per year. There is a cost associated with each order (due to processing, receiving costs, fixed shipping costs, etc.) of $20. The cost of holding a part in inventory is estimated at $4 per year. The supplier of this part offers quantity discounts on the purchasing cost of this part according to the following schedule. Order QuantityPurchase Price (per unit) 1–99$10.00 100–4999.80 500–9999.70 1,000–9,9999.60 10,000+9.50
72
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.72 Total Annual Cost Recall from Operations Management class that the total annual cost (including puchasing, ordering, and holding costs) is Total Annual Cost = Dp + (Q / 2)H + (D / Q)S where D = Annual demand p = purchase cost Q = order size H = annual holding cost per unit S = ordering cost
73
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.73 Spreadsheet Model
74
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.74 Attempts with Standard Solver Various “solutions” provided by the standard Solver, depending on the starting point: Starting Point (Q)Solution (Q*)Cost 11,000$194,400 200500195,800 400447197,789 600500195,800 1,2001,000194,400 11,00010,000210,040 12,0001,000194,400
75
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.75 Cost Function with Quantity Discounts
76
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.76 Solving with the Evolutionary Solver
77
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.77 Tips on Using Evolutionary Solver Bounding all of the variables greatly aids the Evolutionary Solver by decreasing the search space. The limit options should be increased (Max Time, Max Subproblems, and Max Feasible Sols) for challenging problems. Setting Tolerance to 0.0005 and Max Time Without Improvements to 30 will ensure the algorithm will stop if the Target Cell value has improved less than 0.05% in the last 30 seconds. Experiment with different populations sizes and mutation rates to see what works well. I have found that higher than default mutation rates can be helpful in problems with lots of local optima. The Evolutionary Solver can take a very long time, but it will usually find a good solution.
78
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., 2003 10.78 Tips on Using Evolutionary Solver There is no guarantee that Evolutionary Solver will find the best solution. The Evolutionary Solver performs well even with nasty objective functions, but is not very efficient at handling constraints. Much of the solution process is driven by random numbers that direct the search. Thus, two people running Evolutionary Solver on the same model may get different results. Once Evolutionary Solver has found a good solution, you can use GRG Nonlinear Solver (the nonlinear algorithm that is included with the Premium Solver software) to try to find a slightly better solution.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.