我想建立一个数学模型,想用编程来解决.c++,c#等都可以.有两个消防站A,B,分别有8,10辆消防车
问题描述:
我想建立一个数学模型,想用编程来解决.c++,c#等都可以.有两个消防站A,B,分别有8,10辆消防车
现有3个火灾点a,b,c,分别需要4,5,6辆消防车来进行扑救,而A到a,b,c的距离分别为1,5,6,而B到a,b,c的距离分别为4,3,2,求怎样分派A,B的消防车,使得所有的消防车行驶的总的路程最短?当然,这只是一个具体案例,我希望高手们可以帮我编程一下,推广到一般的条件下,而且,不是每个火宅点都调派最近的消防局的消防车就可以解决的情况下,有时需要调派更远一点的消防车.
答
先根据题意画个图,然后做假设,设定每条线路上每个消防车分别派车(A)x,y,z; (B) l,m,n
基于题意及假设可得出:
x+y+z要求最小值的时候不是有很多组合吗?要把所有可能的组合求出来再比较才可得到最小值吧?所以我想用编程来求所有的组合得出来的值,比作比较得出最小值,但是我不懂怎么编程。望赐教!谢谢!将数学转成程序是比较麻烦的一个事,尤其是这种求最值的问题让我来编这个也很痛苦,需要根据最后消元的结果来确定需要哪些参数,并且现在能想到的方法也就是设置步长为1,穷举一下,最后找到最小值记得求最值有很多种方法,但是都还给老师了~~~