博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
非线性规划模型案例及其编程实现
阅读量:3949 次
发布时间:2019-05-24

本文共 1507 字,大约阅读时间需要 5 分钟。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

clear;clca=[1.25 8.75 0.5 5.75 3 7.25];b=[1.25 0.75 4.75 5 6.5 7.75];d=[3 5 4 7 6 11];x=[5 2];y=[1 7];e=[20 20];for i=1:6    for j=1:2        aa(i,j)=sqrt((x(j)-a(i))^2+(y(j)-b(i))^2);    endend  %计算各个工地到每个料场的距离CC=[aa(:,1);aa(:,2)]'; %要转化成行矩阵A=[1 1 1 1 1 1 0 0 0 0 0 0;0 0 0 0 0 0 1 1 1 1 1 1]; %每个料场运送的料满足不等式B=[20;20];%小于等于料场的储量Aeq=[1 0 0 0 0 0 1 0 0 0 0 0     0 1 0 0 0 0 0 1 0 0 0 0     0 0 1 0 0 0 0 0 1 0 0 0     0 0 0 1 0 0 0 0 0 1 0 0     0 0 0 0 1 0 0 0 0 0 1 0     0 0 0 0 0 1 0 0 0 0 0 1]; %各个料场收到的料满足的等式约束 beq=[d(1);d(2);d(3);d(4);d(5);d(6)];%要等于各个料场的需求量 VLB=[0 0 0 0 0 0 0 0 0 0 0 0]; VUB=[]; x0=[1 2 3 0 1 0 0 1 0 1 0 1];%设置初值,可不写 [xx,fval]=linprog(CC,A,B,Aeq,beq,VLB,VUB,x0)

在这里插入图片描述

在这里插入图片描述

liaoch.m

function f = liaoch(x)a=[1.25 8.75 0.5 5.75 3 7.25];b=[1.25 0.75 4.75 5 6.5 7.75];d=[3 5 4 7 6 11];e=[20 20];f1=0;for i=1:6    s(i)=sqrt((x(13)-a(i))^2+(x(14)-b(i))^2);    f1=s(i)*x(i)+f1;end %计算距离f2=0;for i=7:12    s(i)=sqrt((x(15)-a(i-6))^2+(x(16)-b(i-6))^2);    f2=s(i)*x(i)+f2;end  %两个料场分开写更加直观f=f1+f2;

主程序:

clearx0=[3 5 4 7 1 0 0 0 0 0 5 11 5.6348 4.8687 7.2479 7.7499]';A=[1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0   0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0]; %增加两个自变量表示料场坐标B=[20;20];Aeq=[1 0 0 0 0 0 1 0 0 0 0 0 0 0     0 1 0 0 0 0 0 1 0 0 0 0 0 0     0 0 1 0 0 0 0 0 1 0 0 0 0 0     0 0 0 1 0 0 0 0 0 1 0 0 0 0     0 0 0 0 1 0 0 0 0 0 1 0 0 0     0 0 0 0 0 1 0 0 0 0 0 1 0 0]; %各个料场收到的料满足的等式约束 beq=[3 5 4 7 6 11]'; vlb=[zeros(12,1);-inf;-inf;-inf;-inf]; vub=[]; [x,fval,exitflag]=fmincon('liaoch',x0,A,B,Aeq,beq,vlb,vub)

转载地址:http://jsgwi.baihongyu.com/

你可能感兴趣的文章
墨菲定律——职场
查看>>
mysql学习使用二(更新)
查看>>
java匿名内部类原理及使用
查看>>
java基础学习之Timer定时器使用
查看>>
Linux中修改环境变量及快速生效方法
查看>>
Linux学习 - vi/vim 编辑器显示行号
查看>>
linux 卸载python
查看>>
Linux下安装Python2.7与升级至2.7
查看>>
winscp连接linux虚拟机失败
查看>>
解决报错 “build.sh /bin/bash^M: 坏的解释器:没有那个文件或目录”
查看>>
linux学习之tr操作符用法
查看>>
shell的dirname $0和readlink用法
查看>>
linux软连接指向修改
查看>>
Android开发——Crash捕获SDK是如何捕获Application中onCreate的崩溃信息的
查看>>
Android开发——AS插件批量解决XML中的String/Color/Dimen硬编码
查看>>
Android开发——View Binding的使用与解析
查看>>
Android开发——如何优雅的将布局置于输入法之上
查看>>
Android开发——H5容器加载速度优化方案
查看>>
JVM——Java虚拟机架构
查看>>
JVM——内存管理和垃圾回收
查看>>