資源簡介
運輸問題的變量在網絡流中是一條弧。據了解國外求幾十萬變量(弧)規模的最優解實屬不易,這里介紹的運輸問題算法,對百萬弧的規模問題求解易如反掌(比單純形法快成千上萬倍)。
你可以體驗算法的速度,觀看模擬實際問題的最優解圖形等等。

代碼片段和文件信息
#include?“stdio.h“
#include?“math.h“
#include?“malloc.h“
#include?“stdlib.h“
#include?“stddef.h“
#include?“time.h?“
#include?“string.h“?????
#define?NAME?fpw“NAME?????????EX_%d.tmp???????????\n“
#define?RHS??fpw“RHS??\n“??
#define?ROWS??fpw“ROWS??\n??N?OBJROW\n“?
#define?OBJSENSE??fpw“OBJSENSE??\n???MIN?\n“???
#define?OBJSENSEA??fpw“OBJSENSE??\n???MAX?\n“????????????
#define?COLUMNS??fpw“COLUMNS?\n“??????????
#define?BOUNDS??fpw“BOUNDS??\n“?
#define?ENDATA??fpw“ENDATA??\n“??
#define?WAREHOUSE_POINT??fpw“WAREHOUSE_POINT\n“?
#define?CUSTOMER_POINT?fpw“CUSTOMER_POINT\n“????????
#define?PRECI?2?
#define?NAMEMAX?fpw“SCALE????MAX??m=?%d??n=?%d????name?File:%-12s\n“
#define?NAMEMIN?fpw“SCALE????MIN??m=?%d??n=?%d????name?File:%-12s\n“
#define?OBJ??fpw“OBJ?\n“??????????
#define?JIANGE?4?????????????????????
double?sumtime?;
double?myround(doubleint);
main()
{
????FILE*fpw?;
????int?iiiimaxignisumibcmpcmp1?;
????int?jssjjkjsumlimmnn?;
????
????double*obj*val*x1*x2*x3*x4v1v2v3u1u2?;
????char?zuinb[20]na[20]nc[20];
????time_t?tta1ttb1?;
??????????printf(“\n\n????歡迎您!運輸問題超級算法演示開始。\n\n“);
??printf(“????通過您的下面回答將自動生成您所需要的規模和數據。?\n“);
??printf(“????您是求運輸問題的最小化嗎?是-請按字母y并回車,不是-請按字母n并回車。?“);?
????scanf(“?%c“&zui);
????imax=0?;
????if(zui==‘n‘)
??? imax=1;
????????printf(“\n???請輸入您需要的工廠的總數,并回車“);?????
????????scanf(“%ld“&mm);
????????printf(“\n???請輸入您需要的商店的總數,并回車“);????
????????scanf(“%ld“&nn);
????????printf(“\n???為了產生同結構的不同數據,需要一個隨機數的引子。?“);
????????printf(“\n???請輸入一個正整數參數,并回車“);??
??????????scanf(“%d“&li);
????ib=li?;
????????printf(“\n???對于需要保存的生成數據您是選擇mps格式嗎??是-請按字母y并回車,不是-請按字母n并回車“);
????scanf(“%s“na);
????cmp=strcmp(“n“na);
????cmp1=strcmp(“N“na);
????strcpy(nb“EX_“);
????itoa(linc10);
????strcat(nbnc);
????if(cmp!=0&&cmp1!=0)
????{
????????strcpy(nc“.mps“);
????????strcat(nbnc);
????????if((fpw=fopen(nb“w“))==NULL)
????????{
????????????printf(“?Don‘t?open?the?output?MPS-format?file?%s?!“nb);
????????????exit(1);
????????}
????}
????else?
????{
????????strcpy(nc“.txt“);
????????strcat(nbnc);
????????if((fpw=fopen(nb“w“))==NULL)
????????{
????????????printf(“?Don‘t?open?the?output?brief-format?file?%s?!“nb);
????????????exit(1);
????????}
????}
????
????isum=mm+nn?;
????jsum=mm*nn?;
????obj=calloc(jsum+1sizeof(double));
????val=calloc(isum+1sizeof(double));
????x1=calloc(mm+1sizeof(double));
????x2=calloc(mm+1sizeof(double));
????x3=calloc(nn+1sizeof(double));
????x4=calloc(nn+1sizeof(double));
????tta1=time(NULL);
????srand(li);
????ign=rand()%3?;
????if(ign)
????{
????????if(ign==1)
????????{
????????????for(i=1;i<=jsum;i++)
????????????{
????????????????u1=1+(double)exp(1+fabs(cos(li+5)+sin(8+li*i)))*(double)tan(li+fmod(i10+8*sin(i*li)));
????????????????obj[i]=(double)floor(fabs(u1))+1?;
????????????}
????????????for(jj=1;jj<=mm;jj++)
????????????{
????????????????u1=0?;
????????????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????245813??2013-10-27?11:10??隨機數據發生器.exe
?????文件??????53248??2013-10-28?09:28??圖形展示軟件.exe
?????文件?????274483??2013-10-27?08:39??運輸問題求解.exe
?????文件????2613004??2013-10-28?09:19??超級算法介紹.pdf
?????文件???????9103??2013-10-27?11:10??隨機數據發生器.c
-----------?---------??----------?-----??----
??????????????3195651????????????????????5
評論
共有 條評論