You are on page 1of 6

ASSIGNMENT-1

Name : V. ROHITH KUMAR


Roll No : B20ME040
Subject: Project and Operation Management

1 ANS:

import java.util.*;

class Main {

public static void main(String[] args)


{
int[] monthlySales = {150, 165, 140, 135, 148};

double[] movingAverage = calculateMovingAverage(monthlySales);

System.out.println("3-Month Moving Average:");


for (int i = 0; i < movingAverage.length; i++)
{
System.out.printf("Month %d: %.2f\n", i + 1, movingAverage[i]);
}

double forecast = calculateForecast(movingAverage);


System.out.printf("\nForecast for June: %.2f\n", forecast);
}

private static double[] calculateMovingAverage(int[] data)


{
int n = data.length; double[]
movingAverage = new double[n - 2]; for (int
i = 0; i < n - 2; i++) { movingAverage[i] =
(data[i] + data[i + 1] + data[i + 2]) / 3.0;
}

return movingAverage;
}

private static double calculateForecast(double[] movingAverage)


{
int n = movingAverage.length;
double forecast = 0;

for (double average : movingAverage)


{
forecast += average;
}

forecast /= n;

return forecast;
}
}

2 ANS:

import java.util.*;

class Main { public static void


main(String[] args) {

int[] demand = {160, 160, 160, 175, 180, 170};


int[] forecast = {175, 160, 155, 180, 175, 160};
double mad = calculateMAD(demand, forecast);
double msr = calculateMSR(demand, forecast); double
mape = calculateMAPE(demand, forecast); double
mfe = calculateMFE(demand, forecast);

System.out.printf("Mean Absolute Deviation (MAD): %.2f\n", mad);


System.out.printf("Mean Squared Error (MSR): %.2f\n", msr);
System.out.printf("Mean Absolute Percentage Error (MAPE): %.2f%%\n", mape);
System.out.printf("Mean Forecast Error (MFE): %.2f\n", mfe);
}

private static double calculateMAD(int[] demand, int[] forecast)


{
int n = demand.length;
double mad = 0;

for (int i = 0; i < n; i++)


{
mad += Math.abs(demand[i] - forecast[i]);
}

mad /= n;
return mad;
}

private static double calculateMSR(int[] demand, int[] forecast)


{
int n = demand.length;
double msr = 0;

for (int i = 0; i < n; i++)


{
msr += Math.pow(demand[i] - forecast[i], 2);
}

msr /= n;
return msr;
}

private static double calculateMAPE(int[] demand, int[] forecast)


{
int n = demand.length;
double mape = 0;

for (int i = 0; i < n; i++)


{
mape += Math.abs((demand[i] - forecast[i]) / (double)demand[i]);
}

mape = (mape / n) * 100;


return mape;
}

private static double calculateMFE(int[] demand, int[] forecast)


{
int n = demand.length;
double mfe = 0;

for (int i = 0; i < n; i++) {


mfe += demand[i] - forecast[i];
}

mfe /= n;
return mfe;
}
}

3 ans:
import java.util.*;

public class Main


{
public static void main(String[] args)
{
int annualDemand = 20000; // units
int setupCost = 1000; // Rs.
int carryingCost = 50; // Rs./unit/year
int productionRate = 150; // units/day int
consumptionRate = 100; // units/day

double eoq = calculateEOQ(annualDemand, setupCost, carryingCost);

double totalInventoryCost = calculateTotalInventoryCost(eoq, annualDemand, setupCost,


carryingCost);

System.out.printf("i) Economic Order Quantity (EOQ): %.2f units\n", eoq);

System.out.printf("ii) Total Inventory Cost: Rs. %.2f\n", totalInventoryCost);


}

private static double calculateEOQ(int annualDemand, int setupCost, int carryingCost)


{
return Math.sqrt((2.0 * annualDemand * setupCost) / carryingCost);
}

private static double calculateTotalInventoryCost(double eoq, int annualDemand, int setupCost,


int carryingCost)
{
double orderingCost = (annualDemand / eoq) * setupCost;
double holdingCost = (eoq / 2) * carryingCost;

return orderingCost + holdingCost;


}
}

You might also like