整数规划

news/2024/11/15 23:25:58/文章来源:https://www.cnblogs.com/dlmuwxw/p/18352891

在人们的生产实践中,经常会遇到以下问题:汽车企业在制订生产计划时,要求所生产的不同类型的汽车数量必须为整数:用人单位在招聘员工时,要求所招聘的不同技术水平的员工数量必须为整数;等等。我们把要求一部分或全部决策变量必须取整数值的规划问题称为整数规划(Integer Programming,IP)。

目录
  • 一、整数规划的分类
    • 1.线性整数规划
    • 2.非线性整数规划
    • 3.0-1规划
  • 二、matlab对于整数规划的代码求解
    • 1.Matlab线性整数规划求解
    • 2.Matlab线性0-规划求解
  • 三、线性整数规划的实例

一、整数规划的分类

1.线性整数规划

线性的意思:在线性规划的基础上,加入变量取整数的条件

2.非线性整数规划

无特定算法,只能用近似算法,如蒙特卡罗模拟、智能算法(后续会讲到)

3.0-1规划

特殊的整数规划,Matlab中也只能求解线性0-1规划,对于非线性0-1规划也只能近似求解。(数模比赛中最常出现)

二、matlab对于整数规划的代码求解

1.Matlab线性整数规划求解

[x,fval]=intlinprog(c,intcon,A,b,Aeq,beq,lb,ub)
线性整数规划求解代码与线性规划代码十分相似,只加了一个intcon参数,其是一个向量,向量中的数字i代表第i个变量是整数
例如:决策委量有三个:x1、x2、x3;若x2、x3为是整数,则intln=[l,3]

2.Matlab线性0-规划求解

只需在上下界上设定其范围是从0-1即可

三、线性整数规划的实例

c=[-3;-2;-1]; intcon=3; % x3限定为整数
A=ones(1,3); b=7;
Aeq=[4 2 1]; beq=12;
lb=zeros(3,1); ub=[+inf;+inf;1]; %x(3)为0-1变量
[x,fval]=intlinprog(c,intcon,A,b,Aeq,beq,lb,ub)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/781054.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CUDA入门必看,如何高效地编写并行程序

CUDA的研发以及在当下的流行,从始至终都在完成提升性能这一件事。从这一套学习方案中,你会时刻感受到性能指标在编写CUDA程序中所占据的考量有多重。因此要编写出更加成熟的kernel程序,可以跟着我梳理出的学习流程一步一步掌握基础知识,侧重于对性能指标的提升,将CUDA最开…

015.Vue3入门,表单输入绑定,以及lazy延时回车才显示

1、代码如下<template><h3>表单输入绑定</h3><form><!-- 编辑框内容变化时候,下面标签同步显示编辑框内容--><input type="text" v-model:="username"><P>{{ username }}</P><!-- 编辑框内容变…

go Hello World

安装 参考 Windows上安装 Go 环境并配置环境变量 (超详细教程) 安装过程 在 https://golang.google.cn/dl/ 下载对应的安装包 添加环境变量GOROOT : go 跟目录,并将bin目录添加到 PATH 执行如下命令 #开启mod模式(项目管理需要用到) go env -w GO111MODULE=on #重新设置成七…

USB协议详解第1讲(核心概念通俗理解)

0.概括 USB协议学习中最重要几个概念如下,没有提及的就是对USB协议学习中不重要的或者编程不需要用到的。大家也不用着急,概念必须要学会,否则都不知道下面这些东西是什么还学什么通用串行总线协议,大家也不用怕,其实也没有那么高深莫测。 1.USB传输(Transfer) 2.USB传输…

java流程控制:用户交互Scanner

1.首先输入new Scanner 然后Alt+回车 建立一个扫描器2.选择使用next方式或者nextLine方式进行接收3.使用if判断用户是否输入字符串,有hasNext和hasNextLine两种4.定义一个变量为next或nextLine方式5.输出该方式6.关闭IO类,防止占用资源next和nextLine方式的区别 next方式在输…

014.Vue3入门,style属性的几种绑定方法

1、代码如下:<template><div :style="{color:activeColor,fontSize:fontsize+px}">Style绑定1</div><div :style="styleObject">Style绑定2</div><div :style="[styleObject]">Style绑定3</div> <…

ABC366

A [link](https://atcoder.jp/contests/abc366/tasks/abc366_a]判断一下少的那个人加上剩下的所有票是否会超过另一个人,如果超过,不确定,否则目前票多的必胜。神奇的代码 #include<bits/stdc++.h>using namespace std;signed main(){int n,a,b;cin >> n >&g…

012.Vue3入门,class属性的几种绑定方法

1、代码如下:<template><h3>class绑定</h3><div :class="{ active:isActive , text-danger:hasError }">Class样式绑定1</div><div :class="classObject">Class样式绑定2</div><div :class="[arrActiv…

Linux发行版软件包数量

软件包数量很客观,质量上很主观。 Arch Linux软件包数量第一,并且软件安装上最全面,原因如下:还有一个重要的Arch Linux CN仓库非常非常实用,举两个例子clash-verge和deadbeef,前面是最常用,后面是很少见但是很好。这个软件包数量第一基本上没有异议,而Aur只需要简单的…

线性规划在数学建模中的两道例题

目录一、生产决策问题1.问题分析2.模型建立(1)符号设定(2)目标函数建立(3)约束建立3.代码求解(1)输入系数向量(2)输入不等式约束(3)输入等式约束与上下界(4)进行求解二、投料问题1.问题分析2.模型建立(1)符号设定(2)目标函数建立(3)约束建立3.代码求解(1)…