如下,要判断时候为正数,这个搞了好久

我本来是用lingo做的,lingo也是老报错

---------------------------------------------------

我奋斗了好久,只能说是书到用时方恨少.搜索了下,我用了lingo以及5月1号写的那些长长的程序后,没有什么效果,我用lingo老是出错,太久没用了,我也查不出哪里错了.lingo的程序在下楼.MATLAB之前写的程序也在下楼.

这次我是用遗传算法解决,可是每次运行的结果都不一样,而且结果也不是我要的.我乱套用这些,可是没办法.这个问题老是解决不了(问题function.jpg如图).下面是我的程序,不知道我的什么时候能做完,嗨,我的5.1节啊.天亮后去下图书馆,找下lingo该怎么解决.觉得MATLAB来解决这个问题太难啦~~~

%------------------------gainteger_GA.m--------------------------------------

function [x,fval] = gainteger_GA

%This is a function to solve the problem of interger programming using GA

%function in the Genetic Algorithm and Direct Search Toolbox

% Fitness function and numver of variables

fitnessFcn = @(x) gaf(x);

numberOfVariables = 12;

% If decision variables are bounded provide a bound e.g, LB and UB.

LB = -100*ones(1,numberOfVariables);

UB = 100*ones(1,numberOfVariables);

Bound = [LB;UB]; % If unbounded then Bound = []

% Create an options structure to be passed to GA

% Three options namely 'CreationFcn', 'MutationFcn', and

% 'PopInitRange' are required part of the problem.

options = gaoptimset('CreationFcn',@int_pop,'MutationFcn',@int_mutation, ...

'PopInitRange',Bound,'Display','iter','StallGenL',40,'Generations',150, ...

'PopulationSize',60,'PlotFcns',{@gaplotbestf,@gaplotbestindiv});

[x,fval] = ga(fitnessFcn,numberOfVariables,options);

%---------------------------------------------------

% Mutation function to generate childrens satisfying the range and integer

% constraints on decision variables.

function mutationChildren = int_mutation(parents,options,GenomeLength, ...

FitnessFcn,state,thisScore,thisPopulation)

shrink = .01;

scale = 1;

scale = scale - shrink * scale * state.Generation/options.Generations;

range = options.PopInitRange;

lower = range(1,:);

upper = range(2,:);

scale = scale * (upper - lower);

mutationPop =       length(parents);

% The use of ROUND function will make sure that childrens are integers.

mutationChildren =       repmat(lower,mutationPop,1) +       ...

round(repmat(scale,mutationPop,1) .* rand(mutationPop,GenomeLength));

% End of mutation function

%---------------------------------------------------

function Population = int_pop(GenomeLength,FitnessFcn,options)

totalpopulation = sum(options.PopulationSize);

range = options.PopInitRange;

lower= range(1,:);

span = range(2,:) - lower;

% The use of ROUND function will make sure that individuals are integers.

Population = repmat(lower,totalpopulation,1) +       ...

round(repmat(span,totalpopulation,1) .* rand(totalpopulation,GenomeLength));

% End of creation function

%----------------------------------------------------------------------------------

另外一个函数:

%----------------------------gaf.m--------------------------------------------

function f=gaf(x)

v=1/2*[1.1 1.1 1.2 1.2 1.3 1.3];

xs=[42 32 41 67 25 29];

if((x(7)==49)&&(x(6)+x(12)-xs(6)==0)&&(x(8)-x(7)+xs(1)-x(1)==0) ...

&&(x(9)-x(8)+xs(2)-x(2)==0)&&(x(10)-x(9)+xs(3)-x(3)==0) ...

&&(x(11)-x(10)+xs(4)-x(4)==0)&&(x(12)-x(11)+xs(5)-x(5)==0) ...

&&(x(1)>=0)&&(x(2)>=0)&&(x(3)>=0)&&(x(4)>=0)&&(x(5)>=0)&&(x(6)>=0))

f=-(48*x(1)+48*x(2)+48*x(3)+48*x(4)+48*x(5)+48*x(6)-v(1)*x(1)^2 ...

-v(2)*x(2)^2-v(3)*x(3)^2-v(4)*x(4)^2-v(5)*x(5)^2-v(6)*x(6)^2 ...

-0.1*(x(7)>0)*x(7)-0.1*(x(8)>0)*x(8)-0.1*(x(9)>0)*x(9)-0.1*(x(10)>0)*x(10) ...

-0.1*(x(11)>0)*x(11)-0.1*(x(12)>0)*x(12));

else,f=10000;

end

[本帖最后由 fouvy 于 2009-5-2 03:13 编辑]

fd.jpg

(14.36 KB, 下载次数: 397)

2009-5-1 16:06 上传

function.jpg

(13.71 KB, 下载次数: 298)

2009-5-2 03:11 上传

整数规划的matlab计算,Matlab遗传算法解决整数规划问题相关推荐

  1. matlab手写遗传算法解决一元函数最值问题(实例)

    问题:找出y=x4-4x3+3x+5 (xÎ[0,6])在[0,6]之间的最小值. 思路:用33位0,1变量来编码x,3位编码整数,30位编码小数.理论上30位编码小数可以将最小值对应的x精确到小数点 ...

  2. 在matlab上实现遗传算法解决TSP旅行者问题

    TSP问题指的是从一个节点开始遍历其他所有节点并回到初始节点,构成一个哈密顿回路,节点与节点之间距离不同,目标是找到一条回路使得总路程最短,也即就是走最短的路遍历所有节点回到起点. 遗传算法模仿达尔文 ...

  3. matlab植物,matlab分形植物模拟

    学习 您的评论 发布评论 用户评价 关于分形的内容,很好 2018-06-22 11:06:53 基于MATLAB实现分形图形的绘制,如何下载 2018-06-21 19:16:20 ...... m ...

  4. 线性规划 - 用单纯形法解决整数规划问题 - (Matlab、Lingo建模)

    现实生活中,比如机器的台数,参与工作的人数,可调动的车辆数,这些数据都是整数.因此对于变量中包含整数.或者完全是整数的规划问题,我们称之为整数规划.在解决整数规划常用的算法便是单纯形法. 课题名称:任 ...

  5. matlab 矩阵线性规划,MATLAB求解线性规划(含整数规划和0-1规划)问题

    对于这类线性规划问题,数学理论已经较为完善,可以有多种方法求解此类问题.但写这篇文章的目的并不是为了介绍数学理论,我们这里主要讲解如果利用工具求解这一类线性规划问题. 最著名,同时也是最强大的数学最优 ...

  6. matlab 排课,Matlab 遗传算法解决智能排课算法 一天四节课,上午两节,下午两

    Matlab 遗传算法解决智能排课算法 一天四节课,上午两节,下午两 Matlab 遗传算法解决智能排课算法 一天四节课,上午两节,下午两节,同一门课不能相邻,特殊课程不能相邻(语文和英语,数学和科学 ...

  7. MATLAB实战系列(十九)-遗传算法解决TSP(旅行商)问题-应用及解析(文末附MATLAB源码)

    接上篇MATLAB实战系列(十八)-遗传算法解决TSP(旅行商)问题-算法原理 https://wenyusuran.blog.csdn.net/article/details/114060030 感 ...

  8. MATLAB代码:基于混合整数规划的微网储能电池容量规划 关键词:储能配置 电池容量规划 微网 混合整数规划

    MATLAB代码:基于混合整数规划的微网储能电池容量规划 关键词:储能配置 电池容量规划 微网 混合整数规划 关键词:储能配置 电池容量规划 微网 混合整数规划 参考文档:<基于全寿命周期成本的 ...

  9. matlab 遗传优化算法_转载 | 遗传算法解决TSP问题的MATLAB实现

    问题定义: 巡回旅行商问题 给定一组n个城市和俩俩之间的直达距离,寻找一条闭合的旅程,使得每个城市刚好经过一次且总的旅行距离最短. TSP问题也称为货郎担问题,是一个古老的问题.最早可以追溯到1759 ...

  10. matlab 计算 r,MATLAB R2015b*化计算

    目录 第1章MATLAB R2015b概述 1.1MATLAB简介 1.1.1MATLAB的发展史 1.1.2MATLAB的优点 1.1.3MATLAB系统组成 1.1.4MATLAB应用程序 1.1 ...

最新文章

  1. mysql半同步复制问题排查
  2. python编程基础(二)~python安装设置 和 pip packages安装与使用
  3. 学习鸟哥的Linux私房菜笔记(3)——基础使用
  4. java把一段英文拆成单词_java编程题,输入一段英文文章,单词之间都已经用空格分隔,本人想以每5个单词为一行输出,怎么写?请指教...
  5. XML相关的安全漏洞-XXE,XPATH小结(XXE注入、XPATH注入)
  6. 使用Arrays sort 方法進行排序
  7. java 服务 容量评估,容器云平台容量规划及管理优化
  8. 3D打印革命性升级!只要光照几十秒,完美雕像浮出水面丨Science
  9. CentOS7学习笔记--PHP环境安装
  10. 在线查找和下载jar包的好工具maven repository
  11. 常用数据库高可用和分区解决方案(2) — MongoDB篇
  12. OpenSource.com 评出 2014 年十佳开源软件
  13. 怎样用Python自制好看的指数估值图
  14. 2018.11.07【NOIP训练】lzy的游戏(01背包)
  15. 云南昆明寺庙方丈还俗完婚 迎娶26岁女老板(图)
  16. BAT公司 or 创业公司,选择哪个更好?
  17. sql 查询每科的前三名
  18. win10 启动自动修复失败
  19. 怎么更新opengl.dll文件_微信又更新了:群接龙怎么玩?文件如何备份?怎么发高清大视频?...
  20. SE,SA和RD都代表什么

热门文章

  1. 测试显卡矿卡用什么软件,3分钟看懂:AMD二手矿卡简明鉴别、检测教程,从此脱坑不求人...
  2. 学习《自己动手写网络爬虫》之记录1
  3. 高中低压电网光伏并网二次设计——分布式光伏电站并网市电通讯组网
  4. 数字化转型的本质:“研产供销服”各环节的敏捷化
  5. Java学习——Servlet是什么
  6. VAR模型分析联合内生变量的动态关系
  7. Axure RP 8 注册码
  8. mysql数据库命令从哪里输入_mysql数据库操作命令
  9. 二十年驷之过隙,互联网归来仍是少年
  10. Linux目录结构+Linux快捷键+Linux安装软件+Linux常用命令