加载中…
  
博文
标签:

optimization

academic

分类: 我的讲座

注:应一些同学、朋友和同事的请求,再次准备了一个关于Gurobi和CPLEX使用的简单教程,这次教程里提到了软件的一些新的功能,比如说CPLEX在求解非凸的二次规划上的进展和努力;同时,还增加了一些例子代码,比如简单的(混合整数)线性规划、二次规划、双层规划(Bilevel Programming)、KKT条件的代码表达等内容,希望高年级本科生、研究生或年轻教师看过之后,能马上处理您手头的问题。其中的很多代码是从YALMIP Wiki拷贝过来的,特此声明(本教程的目的是教育,而非原创性地推动科研成果,但对推动大家的研究工作想必作用甚大)。此外,最近工作繁忙,博客疏于更新,其中博客中提到的问题也很少回答,敬请谅解。
 
=========================教程开始====================================
标签:

optimization

localsolver

academic

教育

分类: 建模优化
    前言:很久没有写博文了,两个字——“穷忙”,这一段时间里收到了很多老师、学生和业界人员的问题,有些回答的稍显草率,请谅解,其中的一些问题(比如QCQP中的semidefinite的相关问题及讨论)很想写写,但一想到写这些东西需要认真捋清思路、小心措辞、辅助作图等,又想到自己research进展跟狗屎一样,就实在没有心情写了。其实,青年教师的科研压力不比在读博士生小,老师们应该都能理解,所以请学生们和业界人员原谅我这一段时间问题回答上的草率。

     今天选择Local Search(LS)这个话题,一来是最近看到很多Papers在使用这些方法,二来是看到最近优化软件LocalSolver(官网中国代理商)火爆的不行。LocalSolver是基于local search方法(而非Branch and Cut方法和Constraint Programming方法)求解Mathematical Programming模型的,所以非线性算子(
标签:

optimization

cplex

gurobi

yalmip

academic

教育

分类: 我的讲座

    注:转载请声明,并附上源地址!

    首先,题目中的“CPLEX入门教程(CPLEX中文教程)”仅仅是为了提高本文在google和baidu中的命中率,使刚刚开始学习cplex的人能迅速找到这次talk的视频,避免走更多的弯路。另外,在这次talk中,虽说以cplex为主,我也提及了其它优化软件,因为我本人也是十分支持Gurobi这些新生力量的。

    其次,这次活动的目的在讲座视频中有明确介绍,另外,这次活动也是向大家表率:希望大家以后在科学的道路上要以无私的精神多分享自己的心得,别怕麻烦,多为学科的发展做些切切实实的事情(不是光顾着自己发论文和种好自己的一亩三分地),尤其是运筹学(管理科学)这个学科,因为她的影响力已经遍及各个理论和工程学科。

 

    说说跟这次talk有关的一些事情

标签:

cplex

optimization

academic

杂谈

分类: 建模优化
声明:非博主原创!
作者:pengpeng     最初发布:ZPLEX论坛  http://zplex.uueasy.com

http://s6/middle/50c1545149fc72fe32c85&690

http://s4/middle/50c1545149fc72ff20e73&690

http://s6/middle/50c1545149fc72ff1c9e5&690

标签:

yalmip

optimization

software

academic

杂谈

分类: 建模优化

1.sdpvar(n,n)默认是对称的;若要非对称的,用sdpvar(n,n,'full')

这一点很重要,你也许以为我很傻很天真地把这个常识写在这里,是不是把看客当傻瓜了。我负责任地告诉你,这是我使用过程中血的教训:我最近对一个问题进行建模,对模型、代码和数据进行了无数遍cheak,而且用cheakset对约束进行了详细分析,还是报“Primal_infeasible”,我于是开始怀疑自己的能力,欲死欲仙之时,我在YALMIP Wiki上又仔细读了读Johan Lofberg关于sdpvar的示例,忽然发现自己可能阴沟里翻船了---就像老衲当年企图把大于4G的matlab安装镜像文件放到一个FAT32盘上,后被热心网友提醒时的感觉一样一样的。

2.如何对多重求和符号formulation?

如约束中含有类似

的多重求和号。

 

(2010-01-25 16:23)
标签:

academic

optimization

software

yalmip

杂谈

分类: 建模优化
24.常用命令
    * sdpvar:SDP变量(YALMIP变量)
    * sdpsettings:SDP设置(YALMIP设置)
      如:assign(x,[1 2 3]);assign(y,[4 5 6]);
         slovesdp(F,obj,sdpsettings('slover','mosek','usex0',1));%用mosek求解,使用初始解x=[1 2 3]
    * solvesdp :求解命令(另外,solvemp,solvemoment,slovesos)
monolist:产生不超过一定阶数的多项式,在SDP Relaxation中很有用
polynomial:产生多项式
plot:画图,尤其是画可行域时很方便
sdisplay:sysbolic display 显示符号化的式子,如多项式、单项式
sparse:产生稀疏矩阵
blkvar: 分块矩阵变量类型
blkdiag:分块对角矩阵
binvar: 二值变量
intvar: 整数变量
uncertain: 声明不确定变量(参数),在鲁棒
(2010-01-25 16:16)
标签:

academic

optimization

software

yalmip

杂谈

分类: 建模优化
7.SDP建模与求解(没什么特殊之处,方阵默认是对称的,>=0是正定的意思)
A = [-1 2 0;-3 -4 1;0 0 -2];
P = sdpvar(3,3);
F = [P >= 0, A'*P+P*A <= 0];
solvesdp(F);//不写目标时,表示是“可行性”问题
Pfeasible = double(P);//double()表示抽取决策变量的值,是YALMIP对Matlab的重载
8.sdpsettings YALMIP与solvers的通讯管家
(1)ops=sdpsettings可以查看当前的设置
(2)对YALMIP与Solver的通讯进行设置
ops = sdpsettings('field',value,'field',value,...)
solvesdp(Constraints, Objective, ops)
如:ops = sdpsettings('solver','dsdp','verbose',0)
或:ops = sdpsettings('solver','sdpa');
    ops = sdpsettings(ops,'verbose',0);
其中:
slover项可以的设置形式有:
     ---csdp
     ---mosek,csdp,dsdp(按你希望的选择顺序)
 &nb
(2010-01-25 16:12)
标签:

academic

optimization

software

yalmip

杂谈

分类: 建模优化
1.norm(x,n):x的n范数,在SOCP中经常使用
2.当对QP问题优化时,最好引入辅助变量,这使得内点算法面临的矩阵稀疏化,有利于快速求解
aux = sdpvar(length(residuals),1);
solvesdp([aux == residuals],aux'*aux);
3.方阵默认是对称的,因此>=0是正定的意思;非方阵以及full paremeterized方阵(如P = sdpvar(3,3,'full'))>=0是针对每个元素而言的
4.所有约束用一个[]扩起来,“,”号分割
  C = [P>=0, P(1,1)<=2, sum(sum(P))==10];
5.几种特殊矩阵(也可以用sdpvar()的第三个参数来指定)
x = sdpvar(n,1);
D = diag(x) ;    % Diagonal matrix
H = hankel(x);   % Hankel matrix
T = toeplitz(x); % Toeplitz matr
标签:

academic

mosek

optimization

software

杂谈

分类: 建模优化
问题1:MOSEK能干什么?
简单地说,MOSEK可以求解LP,QCQP,SOCP,以及相应的MIP(MILP,MIQCQP,MISOCP),这与

Cplex是相同的,在求解效果上感觉应该与Cplex差不多吧;但同时,MOSEK又可以求

解Entropy Optimization(非线性项以X_j*ln(X_j)的线性组合形式出现,对应的优化

器是mskenopt),Geometric Programming(非线性项以x_1^a1*x_2^a2*...*x_n^an正单

项式形式出现在目标函数和约束中,MOSEK不能直接求解GP问题,而是用mskgpopt优化

器求解一个转化后的问题,所以如果要取得原问题的解,
标签:

cplex

optimization

software

academic

杂谈

分类: 建模优化
问题一: Cplex使用的Branch&Cut的原理是什么(Principle)?
(1
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有