第一问的目标函数中只有每个料场到各个工地运送重量是变量,工地与料场之间的距离均为常量因此为线性规划问题
第二问目标函数中料场坐标也为变量,因此为非线性规划问题
我们先来看第一问的求解过程
运用for循环求出每个工地到料场的距离,从而求出linprog函数中的目标函数的系数向量
要理解linprog函数中的每个变量所对应的变量,从而正确写出线性约束的所有系数矩阵
线性约束为每个料场运出总量小于日储量且每个工厂收到的总量等于日用量,在第二问中也一样
第二问使用fmincon函数 ,由于多了四个变量,一共有十六个变量,先确定其对应哪些问题中的值
x3为变量初始值,可以直接使用第一问所求的数值加上四个坐标值,可以适当改变初始值多次求解,找最优解(若有条件可用蒙特卡罗法近似一个初始值,具体方法请看本座的下一篇文章)
定义函数进行写出非线性的目标函数,返回值为总的吨千米数,最终求出fval1为x取近似理想解的吨千米数,x1为各变量的近似理想解