Sunday, April 8, 2012

Transportation Cost Problem

Operation Research :Transportation Problem
This transportation Problem will give the estimate the cost of the transportation.It consists of the supply and Demand.There are
two conditions
1)if supply greater than demand then element values * demand and supply will be subtracted from demand
2)If suppply less than demand then element values * supply and demand will be subtracted from supply.
Finally cost matrix is printed and the Sum of the allocated Matrix can be also calculated.The final sum is the Transportation Cost


Code :
/*************************************************************************
**/
/*
*/
/*          Title   :  Transportation Problem in Operation Research      
*/
/*          Author  : K.JAYANTH  IV Msc(Software Engineering)
*/
/*          College : Dr.Mahalingam College Of Engineering and
Technology
*/
/*          Mail-ID : jayc02msc@drmcet.org
*/
/*
*/
/*
***********************************************************************
*/
        /* Look last of coding for SAMPLE INPUT*/
#include<stdio.h>
#include<conio.h>

main()
{
int flag=0,flag1=0;
int s[10],d[10],sn,eop=1,dm,a[10][10];
int i,j,sum=0,min,x[10][10],k,fa,fb;

clrscr();
             /* Getting The Input For the Problem*/

printf("Enter the number of Supply
");
scanf("%d",&sn);
printf("Enter the number of Demand
");
scanf("%d",&dm);
printf("Enter the Supply Values
");
for(i=0;i<sn;i++)
scanf("%d",&s[i]);
printf("Enter the Demand Values
");
for(j=0;j<sn;j++)
scanf("%d",&d[j]);
printf("Enter the elements of the array
");
for(i=0;i<sn;i++)
 {
  for(j=0;j<dm;j++)
   {
     scanf("%d",&a[i][j]);
     }
 }
         /* Calculation For the Transportation */
 i=0;j=0;
 for(i=0,j=0;i<sn,j<dm;)
  {
    if(s[i]<d[j])          // Check supply less than demand
     {
      x[i][j]=a[i][j]*s[i];  // Calculate  amount * supply
      d[j]=d[j]-s[i];        // Calculate demand - supply
      i++;                  // Increment i for the deletion of the row
or
column
     }
   else if(s[i]>=d[j])   //Check the supply greater than equal to
demand
    {
    x[i][j]=a[i][j]*d[j];      // Calculate  amount * demand
    s[i]=s[i]-d[j];           // Calculate supply - demand
    j++;                     // Increment j for the deletion of the row
or
column
    }

  }
  /* The  Cost Matrix is Estimated here */
  printf("Given Cost Matrix is :
");
   for(fa=0;fa<sn;fa++)
    {
      for(fb=0;fb<dm;fb++)
       {
    printf("%d    ",a[fa][fb]);
       }
       printf("
");
    }
   /*  The Allocated Cost Matrix is */

    printf("Allocated Cost Matrix is
");
    for(fa=0;fa<sn;fa++)
     {
      for(fb=0;fb<dm;fb++)
       {
    printf("%d    ",x[fa][fb]);
     sum=sum+x[fa][fb];
       }
       printf("
");
     }
    /* Transportation Cost Estimated and Sum is Printed*/
  printf("The Transportation cost:%d
",sum);
  getch();
  }

/* SAMPLE INPUT
11
13
17
14
16
18
14
10
21
24
13
10
11
11
11
11
Given Cost Matrix is :
11      13      17      14
16      18      14      10
21      24      13      10
11      11      11      11
Allocated Cost Matrix is
2200    650     0       0
0       3150    700     0
0       0       2925    500
0       0       0       2200
The Transportation cost:12325
*/



       

No comments:

Post a Comment