24小时热门版块排行榜    

查看: 3335  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

guanghua0420

新虫 (初入文坛)

[求助] matlab最优化问题求解中,复杂的目标函数和约束条件无法直接表示的问题

请问,如果matlab 优化当中, 目标函数 和 约束条件都很复杂,没有办法直接用x 表示出来,该怎么处理?     而且,对于要求出的x, 我有多个目标函数,这又该如何处理?

例如:

图像1, 图像2 ,图像3, 图像4,图像5 。。图像10 , 根据这10个图像,求最优解x ,目标是 :5个图像使用x(向量)作为权重叠加之后的图像中的叠加图像中的某个部分的值为优化目标。


主函数:imageVectorChild里面存了 10个图像的向量形式。
----------
x0=2*rand(1,size(imageVectorChild,2))-1;  % 10个随机数作为参数x的初始值

options = optimoptions(@fmincon,'display','iter');

Aeq=ones(1,endPic-startPic+1);  % 想说让x的和是1,作为约束,不过也可以不要这个约束
beq=1;                                        %约束可以任意,不是重点

[x,resnorm] = fmincon(@objfun2,x0,[],[],Aeq,beq,[],[],[],options,imageVectorChild)


优化(目标)函数:objfun2.m
--------------



function Objval = objfun2(x,imageVectorChild)

finalImage = x * imageVectorChild;   %   就是利用x系数,把10个图像简单的叠加在一起。相当于:x(1).*图像1+x(2).*图像2+x(3).*图像3+。。。


theta = direction(finalImage )  %  根据叠加结果,求得方向场角度theta, 这里面对finalImag进行了复杂的转化。所以x已经无法直接表示成为theta。同时,theta也是一个向量。

theta(1) = 0.24  % 优化目标
theta(2) = 0.38  % 优化目标
。。。

theta (m) = 0.42  % 优化目标

也就是说优化目标有多个,数量根据theta向量的维度决定。 同时,优化目标也不应该用等式表示,也不清楚该怎么表示。

例如: 如果优化目标就只有一个,可以用 Objval  = theta(1) - 0.24  。

麻烦了解的同学 给些指导  真谢谢。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

引用回帖:
3楼: Originally posted by guanghua0420 at 2014-09-30 17:01:25
您好,版主。  这个不是10个小图合成一个大图,是把10个图以不同的权重叠加在一起,这个权重就是要求的x。也就是x向量有10个标量对应10个图。


然后,优化函数中,我把图形以 60*60大小进行划分, 也就是说整张 ...

图像梯度是固定的,不是优化出来的。

[ 发自小木虫客户端 ]
4楼2014-09-30 18:09:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

feixiaolin

荣誉版主 (文坛精英)

优秀版主

建议:10个小图拼成一个大图,若干次随即采样能够覆盖全部小图。
          于是,转换为单目标优化。如  theta >= 0.24,说明 达到一级优化;如  theta >= 0.38,说明 达到二级优化;……
2楼2014-09-30 12:52:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

guanghua0420

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by feixiaolin at 2014-09-30 12:52:45
建议:10个小图拼成一个大图,若干次随即采样能够覆盖全部小图。
          于是,转换为单目标优化。如  theta >= 0.24,说明 达到一级优化;如  theta >= 0.38,说明 达到二级优化;……

您好,版主。  这个不是10个小图合成一个大图,是把10个图以不同的权重叠加在一起,这个权重就是要求的x。也就是x向量有10个标量对应10个图。


然后,优化函数中,我把图形以 60*60大小进行划分, 也就是说整张图分成N个 60*60的 block。 优化的目标就是,图像中的某些block内的像素进行计算,求出该block块儿的梯度。优化目标是让该梯度 = 0.24 。 所以,会有多个block 的梯度 都有要求, 相当于多个优化目标。

若干次采样覆盖全部小图,我没有明白,能详细解释一下么
3楼2014-09-30 17:01:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 什么时候开奖? +4 CrisMessi 2026-08-18 4/200 2026-08-19 00:53 by gatelove
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 27/1350 2026-08-18 21:44 by Noways
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +3 瞬息宇宙 2026-08-15 3/150 2026-08-18 21:40 by xiaohuixin
[基金申请] 2027广东省杰青 +3 奶牛小黑 2026-08-15 9/450 2026-08-18 20:09 by 奶牛小黑
[基金申请] 朋友圈看到的 +4 wangzilk 2026-08-18 5/250 2026-08-18 19:25 by wangzilk
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +51 医学老男孩 2026-08-13 110/5500 2026-08-18 19:07 by icerianxia
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 时间戳变了,能看出什么问题? +8 基诺咪客 2026-08-17 11/550 2026-08-18 17:13 by 悠然熊猫
[基金申请] 重要消息,中午系统在维护 +9 yuleib84 2026-08-18 10/500 2026-08-18 16:52 by archvillain
[论文投稿] 投稿咨询 +4 wwm09 2026-08-17 6/300 2026-08-18 15:36 by wwm09
[基金申请] 时间戳又变了8-15 +14 archvillain 2026-08-15 26/1300 2026-08-18 13:37 by phantomgost
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +13 Ldrop2023 2026-08-13 16/800 2026-08-18 12:25 by 淀粉搬运工
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[基金申请] filecode=后面第一个是大写字母 +8 wangze12014 2026-08-14 10/500 2026-08-17 17:05 by xter9665
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
信息提示
请填处理意见