一、基本概念:
1、组合最优化:又称为离散最优化通过对数学方法的研究去寻找离散事件的最优编排、分组、次序或筛选等。可用数学模型表述为:
min f(x)
s.t. g(x)≥0,
x ∈ D
2、组合最优化问题:在给定有限集合的所有具备某些特性的子集族中,寻找使某种指标达到最优的子集的问题。
3、组合最优化问题的目标通常是从组合问题的可行解集中求出最优解
4、算法:一步步求解问题的通用程序,它是解决问题的程序步骤的一个清晰描述
5、定型算法:算法从前一步到后一步的运行是由当时状态唯一确定的
6、算法能解决问题:一个算法,它对问题任意一个给定实例,在有限步之后,一定能得到该实例的答案
7、近似算法:对于一个优化问题,给定任意一个实例,算法总能找到一个可行解
8、最优算法:对于一个优化问题,给定任意一个实例,算法总能找到一个可行解,且这个可行解的目标值总等于最优解值
9、计算复杂性:用算法中的加、减、乘、除和比较等基本运算的总次数(计算时间)C(I)同实例I在计算机计算时的二进制输入数据(输入规模/长度d(I))的大小关系:C(I) = f(d(I))
10、判定问题:一个问题的每一个实例只有“是”或“否”两种答案
11、多项式转换(变换):通过一个算法将两个问题的两个实例之间实现了转换,使实例的解一一对应,即将输入转换为输入,并且得到的结果相对应
12、多项式归约:在多项式时间内,将问题1的输入转换为问题2的输入,则成问题1归约为问题2
13、NP难问题:对于判定问题A,若NP中的任何一个问题可在多项式时间归约为判定问题A,则称A为NP困难问题
14、cook定理的NPC证明:NP中的任何一个问题可在多项式时间内归约为SAT
15、不确定一维搜索:
对于一元函数φ(α),精确一维搜索的条件为φ ’(αk)=0
不精确一维搜索的条件φ ’(αk)≈0,或 |φ ’(αk) | ≤ σ
实际计算中上式不好控制,一般的方法是|φ ’(αk) / φ ’(0) | ≤ σ

二、问题
1、0-1背包问题
可化为:
求最大的Σcixi
条件是Σaixi≤h,即背包容量
且xi∈{0,1},表示物体只能装入或者不装入
2、平行机排序问题
可化为:
求最小的ΣΣcijtj,tj为任务完成所需要的时间
条件是Σcij=1且Σcij=1,即每个任务仅执行一次
且cij∈{0,1},表示任务要么执行要么不执行
3、运输问题
可化为
求最小的ΣΣcijxij
条件是Σxij=ai,即提供数量
Σxij=bj,即使用数量
xij≥0
4、生产计划问题
求最大的Σcjxj
条件是Σaijxj≤bi,即资源需要够用
xj≥dj,即不少于bj的量
5、指派问题
求最小的ΣΣcij*xij
条件是Σxij=1且Σxij=1,即每个人只负责一个任务
xij∈{0,1},即要么负责要么不负责

三、常用算法
期中之前,我们总共学过六种重要算法如下:
①进退法,用于求初始区间
②二分法,用于在可用导数的情况下求解精确搜索
③fibonacci法,用于求解精确搜索
④二次插值法,用于求解精确搜索
⑤黄金分割方法,用于求解精确搜索
⑥frank wolf算法,用于求解模糊搜索
前五种本人已经彻底分析完毕,可以再我的博客中找到,下面进行简单讲解:

1、迭代算法:选取一个初始可行点,从此出发,以此产生一个可行点列

2、下降算法:在迭代算法中要求f(x+1)<f(x)

3、黄金分割法:想要求得峰值所在的区间,所以每次求得的假设区间端点是x1=a+0.382(b-a)和x2=a+0.618(b-a),要么选择区间[a,x2],要么是[x1,b],要么是[x1,x2],具体看f(x1)和f(x2)的取值,如果f(x1)<f(x2),说明x1更靠近最低点,但由于x1不能保证在左侧还是右侧,所以选择x2,即区间变化为[a,x2];如果f(x1)>f(x2),说明x2更靠近最低点,但由于x2不能保证在左侧还是右侧,则选择x1,即区间变化为[x1,b];如果f(x1)=f(x2),说明峰值在x1和x2之间,即区间变化为[x1,x2]。直到区间长度小于精度的时候,终止。
黄金分割法和fibonacci非常相似,在这里不做单独解释

4、fibonacci法:通过fibonacci数列逼近0.618的特性,从1,2,3开始,每次都取n1=f(n-2)/f(n),n2=f(n-1)/f(n)作为新区间的两端,然后和黄金分割法一样进行分析。每次求得的假设区间端点是x1=a+n1(b-a)和x2=a+n2(b-a),要么选择区间[a,x2],要么是[x1,b],要么是[x1,x2],具体看f(x1)和f(x2)的取值,如果f(x1)<f(x2),说明x1更靠近最低点,但由于x1不能保证在左侧还是右侧,所以选择x2,即区间变化为[a,x2];如果f(x1)>f(x2),说明x2更靠近最低点,但由于x2不能保证在左侧还是右侧,则选择x1,即区间变化为[x1,b];如果f(x1)=f(x2),说明峰值在x1和x2之间,即区间变化为[x1,x2]。直到区间长度小于精度的时候,终止。注意,每次需要找到下一个fibonacci数,对n1和n2进行更新。博客链接:fibonacci法

5、进退法:
注意,进退法不是用来在单峰函数中找最小值得方法,而是在多峰函数中找到单峰区间的方法!!
通过确定步长,然后不断迈步,直到得到一个区间[x0,x2],由于需要直到峰值在区间内,所以需要设定一个x1,让f(x1)<f(x0)且f(x1)<f(x2)。博客链接:进退法

6、二分法:
每次将区间缩小为原来的1/2,每次取c=(a+b)/2,对f( c )求导数,
如果f ’( c )>0,则以[a,c]代替[a,b]作为新区间
如果f ’( c )<0,则以[c,b]代替[a,b]作为新区间
博客链接:二分法

四、个人预测
以本人所认知,到目前为止,我们组合最优化所学习的最重要的知识点就是:p与np问题的定义,包含npc、nph问题;多项式归约;常见的npc问题的求解步骤(例如背包问题,运输问题、指派问题等~);一维搜索的六种算法。
如果要出五道题,我的题目池有六道:一道多项式归约问题;一道常见npc问题;一道进退法;一道fibonacci法;一道二次插值法;一道模糊搜索。其中多项式归约考的可能性不大,模糊搜索也不大,fibonacci法可能被黄金分割法代替。

组合最优化——期中总结相关推荐

  1. 计算机网络工程实用技术考试,计算机网络实用技术期中考试复习题.doc

    计算机网络实用技术期中考试复习题 2008-2009学年度第二学期07级计算机专业 <计算机网络基础>期中考试复习题 一.填空题 计算机网络是指将地理上分散的计算机资源通过________ ...

  2. java大作业私人管家系统_操作系统概念(Operating System Concepts)第十版期中大作业...

    更正: 第一题中,哲学家就餐问题中的哲学家的状态state[i]应属于临界区变量,是可能会产生读写冲突的,所以对其进行读写的时候均需要加一把互斥锁. 非常感谢不听不听不听的指正. ---------- ...

  3. 现在无法开始异步操作。异步操作只能在异步处理程序或模块中开始,或在页生存期中的特定事件过程中开始...

    异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html 这篇没啥技术含量,用来小记一番 错误信息 "System.Invalid ...

  4. 计算机组装与维修单元卷,计算机组装与维修期中考试试卷及答案

    <2011年计算机组装与维修期中考试试卷及答案> 时间:90分钟总分120分 一.单项选择:(在每小题列出的四个选项中,只有一项符合题目要求,请将符合题目要求的选项选出,.不选.多选.错选 ...

  5. 2021年信号与系统期中考试的补测试题

    简 介: 记录了对于信号与系统2021年期中考试中因为使用考试宝过程中受到软件干扰而在期末进行的补考过程. 关键词: 信号与系统,期中考试,考试宝 §01 考试宝补测题 在2021年信号与系统分析课程 ...

  6. 2021年信号与系统处理期中考试与课堂交互分数

    §01 期中成绩整理 2021年信号与系统期中考试采取了 考试宝进行课堂练习 方式进行.但是使用考试宝进行测试有以下两方面的问题: 考试宝只能接受姓名和手机号,无法接受学号作为标识符: 考试宝在考试过 ...

  7. 计算机考试前的心情作文,期中考试前的心情作文

    期中考试前的心情作文 大家还记得期中考试前自己是什么样的心情吗?下面小编收集整理了关于期中考试前的心情的作文,一起来看看吧! 期中考试前的心情作文[1] 今天要考试了,我紧张心好像都要跳出来. 我们进 ...

  8. 20145307《信息安全系统设计基础》期中总结

    20145307<信息安全系统设计基础>期中总结 知识点总结 常用的Linux命令 Linux中命令格式为:command [options] [arguments] []表示是可选的,即 ...

  9. 云南大学计算机网络原理,云南大学软件学院计算机网络原理期中试卷王世普.doc...

    云南大学软件学院计算机网络原理期中试卷王世普 云南大学2015至2016学年上学期软件学院2014级 <计算机网络原理>期中考试试卷(闭卷)答案 满分:100分 考试时间:100分钟 任课 ...

  10. 《数据结构》是计算机应用,《数据结构》期中测试-2014计算机应用技术用.doc

    <数据结构>期中测试-2014计算机应用技术用 1-12每题3分 1. 以下算法的时间复杂度为( ) for( i=n-1;i>=1; - -i) for( j=1;j<=i; ...

最新文章

  1. 作弊翻车!Kaggle 大赛第一团队获最严处分
  2. Ironic 的 Rescue 救援模式实现流程
  3. Win32 API 和 ODBC 访问数据库一
  4. java基础之线程(1)
  5. linux netstat服务,linux netstat查看服务和端口状态
  6. 手机浏览器网址_苹果手机怎么登两个微信
  7. linux c语言 延迟,linux下写个C语言程序,要求有0.5微秒以下的延时,要怎样写
  8. ASP.NET性能优化之分布式Session
  9. java8 stream ,filter 等功能代替for循环
  10. 天弘基金:中国的BlackRock?
  11. 【图像处理】基于matlab Hough变换人眼虹膜定位【含Matlab源码 387期】
  12. 把VSCode当作记事本使用
  13. VS2010 安装OpenCV2.4.0教程
  14. 喜欢听音乐应该买什么蓝牙耳机?音质好听的蓝牙耳机推荐
  15. 串口协议和RS-232标准,RS232电平与TTL电平的区别,以及USB/TTL转232“模块(CH340芯片为例)的工作原理
  16. 金融理论与实务公式汇总
  17. 怎么清理c盘语言文件,怎么清理c盘空间 c盘空间不足
  18. java-老鼠出迷宫
  19. 互调失真 ,P1dB 压缩点,三阶交调截止点
  20. Springboot @Lazy注解

热门文章

  1. 田申:《个人信息安全规范》的理解与初探
  2. 安装西门子博图一直重启_安装西门子提示重启,重启后,继续提示重启,无限循环,着急解决谢谢...
  3. Promise改写获取萤石云摄像头直播地址的接口
  4. 网络安全信息收集的思路
  5. mysql省市县表设计_表设计(省市县)
  6. python图像识别教程pdf_如何使用Python进行PDF图片识别OCR
  7. 倾斜摄影与三维实景建模技术设计书.PDF(文档可下载)
  8. python TCP服务器v1.4 - 客户端连接服务器异常(异常情况分类)处理
  9. 使用mbedtls库实现ftps协议
  10. TM1620 led显示芯片用stm8来驱动