Displaying Source Code(s)
|
|
Transportation Cost Problem
--------------------------------------------------------------------------------
Description : 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<BR>);
scanf("%d",&sn);
printf("Enter the number of Demand<BR>);
scanf("%d",&dm);
printf("Enter the Supply Values<BR>);
for(i=0;i<sn;i++)
scanf("%d",&s[i]);
printf("Enter the Demand Values<BR>);
for(j=0;j<sn;j++)
scanf("%d",&d[j]);
printf("Enter the elements of the array<BR>);
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 :<BR>);
for(fa=0;fa<sn;fa++)
{
for(fb=0;fb<dm;fb++)
{
printf("%d ",a[fa][fb]);
}
printf("<BR>);
}
/* The Allocated Cost Matrix is */
printf("Allocated Cost Matrix is <BR>);
for(fa=0;fa<sn;fa++)
{
for(fb=0;fb<dm;fb++)
{
printf("%d ",x[fa][fb]);
sum=sum+x[fa][fb];
}
printf("<BR>);
}
/* Transportation Cost Estimated and Sum is Printed*/
printf("The Transportation cost:%d<BR>,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
*/
|
|
|