數學建模-規劃工具箱yalmip

  1. 官網下載

  2. 實例

%% yalmip 求解    yalmip
clc;clear;close all;
%%
%sdpvar實型變量   intvar 整形變量   binvar 0-1型變量
p=sdpvar(3,1);   %定義變量
%目標函數  要把求最大值轉化為最小值
Objective=-p(1)^2+p(2)^2-p(2)*p(3);%約束條件
Constraints=[0<=p<=1,(p(1)^2+p(1)*p(2)+p(2)*p(3)<=p(2)+6),((2*p(1)+p(2)+3*p(3))<=6)];
%優化求解
optimize(Constraints,Objective)P=double(p);
Obj=double(-Objective);
objstr=['目標函數最優值:',num2str(Obj)];
disp(objstr)
for i=1:length(P)xstr=['x',num2str(i),'的值為:',num2str(P(i))];disp(xstr)
end
%% yalmip 求解
%背包問題
clc;clear;close all;
%sdpvar實型變量   intvar 整形變量   binvar 0-1型變量
%各個物品的質量
w=[80,82,85,70,72,70,82,75,78,45,49,76,45,35,94,49,76,79,84,74,76,63,...35,26,52,12,56,78,16,52, 16,42,18,46,39,80,41,41,16,35,70,72,70,66,50,55,25, 50,55,40];
%各個物品的價值
v=[200,208,198,192,180,180,168,176,182,168,187,138,184,154,168,175,198,...184,158,148,174,135, 126,156,123,145,164,145,134,164,134,174,102,149,134,...156,172,164,101,154,192,180,180,165,162,160,158,155, 130,125]; 
%%
p=binvar(length(w),1); 
%%
%目標函數
%拿出物品價值最大,默認最小值優化,加個負號
Objective=-sum(v*p);
%約束條件
%背包總重量不超過1000
Constraints=[(sum(w*p)<=1000)];
%優化求解
optimize(Constraints,Objective)
P=double(p);
Obj=double(-Objective);
disp(P')
index=find(P==1);
objstr=['目標函數最優值:',num2str(Obj)];
disp(objstr)
disp('裝入背包的物品為')
disp(index')

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/42506.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/42506.shtml
英文地址,請注明出處:http://en.pswp.cn/news/42506.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

音視頻FAQ(一):視頻直播卡頓

一、摘要 本文介紹了視頻直播卡頓的四個主要原因&#xff0c;用戶網絡問題、用戶設備性能問題、技術路線的選擇和實現問題。因本文主要闡述視頻直播的卡頓&#xff0c;故技術路線的實現指的是&#xff1a;CDN供應商的實現問題&#xff0c;包含CDN性能不足、CDN地區覆蓋不足。對…

Vc - Qt - 繪制窗口背景色

要在Qt中繪制一個背景顏色&#xff0c;你可以使用Qt的繪圖功能來完成。下面是一種簡單的方法&#xff1a; 步驟1&#xff1a;在你想要繪制背景顏色的QWidget&#xff08;例如QMainWindow或QDialog&#xff09;的派生類中&#xff0c;重寫 它的paintEvent函數。步驟2&#xff1a…

matlab中exp和expm的區別

exp()為數組 X 中的每個元素返回指數 e x e^{x} ex expm()計算 X 的矩陣指數。 兩個函數傳入矩陣后計算的結果是不同的&#xff0c;千萬不能混淆。之前曾經想當然得把exp里傳入矩陣當矩陣指數使用&#xff0c;也未驗證正確性&#xff0c;實不應該。

uni-app中使用pinia

目錄 Pinia 是什么&#xff1f; uni-app 使用Pinia main.js 中引用pinia 創建和注冊模塊 定義pinia方式 選項options方式 定義pinia 頁面中使用 pinia選項options方式 函數方式 定義pinia 頁面中使用 函數方式 定義的pinia Pinia 是什么&#xff1f; Pinia&#xff0…

用戶新增預測——baseline學習筆記

一、賽題理解 1. 賽題名稱 用戶新增預測挑戰賽 2. 賽題數據集 賽題數據由約62萬條訓練集、20萬條測試集數據組成&#xff0c;共包含13個字段。其中uuid為樣本唯一標識&#xff0c;eid為訪問行為ID&#xff0c;udmap為行為屬性&#xff0c;其中的key1到key9表示不同的行為屬性…

S-Video端口接口芯片ESD保護方案圖

在音/視頻領域&#xff0c;除了常見的HDMI、DVI接口等&#xff0c;還有一些冷門的接口&#xff0c;比如S-Video端口&#xff0c;相信很多人可能都沒有聽說過。S-Video視頻端口同樣擁有較好的數據傳輸功能。S-Video二分量視頻端口&#xff0c;英文全稱Separate Video&#xff0c…

Macbook 終端 git 命令補全和提示

Mac OS自帶的終端&#xff0c;用起來雖然有些不太方便&#xff0c;界面也不夠友好&#xff0c;關鍵是在windows上用習慣了自動補全功能&#xff0c;在Mac上一個個的拼寫單詞是真的難受&#xff0c;逼著我記英文單詞。 經過一天的磨合&#xff0c;我實在忍不了&#xff0c;在網上…

復習vue3,簡簡單單記錄

這里的知識是結合視頻以及其他文章一起學習&#xff0c;僅用于個人復習記錄 ref 和reactive ref 用于基本類型 reactive 用于引用類型 如果使用ref 傳遞對象&#xff0c;修改值時候需要寫為obj.value.attr 方式修改屬性值 如果使用reactive 處理對象&#xff0c;直接obj.att…

Lua學習記錄

Lua基礎了解 Lua的注釋通過 (-- 單行注釋&#xff0c;--[[ ]] 多行注釋)可以不加&#xff1b; 多個變量賦值&#xff0c;按順序賦值&#xff0c;沒有則為nil&#xff1b; function的簡單用法&#xff0c;多個返回值配合多重賦值&#xff0c;以end為結束標志 Lua下標從1開始&…

JSP-學習筆記

文章目錄 1.JSP介紹2 JSP快速入門3 JSP 腳本3.1 JSP腳本案例3.2 JSP缺點 4 EL表達式4.1 快速入門案例 5. JSTL標簽6. MVC模式和三層架構6.1 MVC6.2 三層架構 7. 案例-基于MVC和三層架構實現商品表的增刪改查 1.JSP介紹 概念 JSP&#xff08;JavaServer Pages&#xff09;是一種…

Azure存儲賬戶

存儲賬戶的概念 Azure存儲賬戶是Azure提供的一種云存儲解決方案&#xff0c;用于存儲和訪問各種類型的數據&#xff0c;包括文件、磁盤、隊列、表格和Blob&#xff08;二進制大對象&#xff09;數據。存儲賬戶可以基于訪問模式和冗余需求來選擇不同的類型&#xff0c;以滿足應…

【MySQL--->表的操作】

文章目錄 [TOC](文章目錄) 一、創建表二、查看表三、修改表四、刪除表drop table 表名; ![在這里插入圖片描述](https://img-blog.csdnimg.cn/15227b8335364d41bd01b4b4dd83ee55.png) 一、創建表 語句格式:create table 表名(列名 類型,…)字符集 校驗規則 存儲引擎;字符集和校…

我還不知道?Android組件化插件化模塊化

Android組件化、插件化和模塊化是針對Android應用程序開發的一種架構設計思想和開發方式。 組件化&#xff08;Componentization&#xff09;&#xff1a; 組件化是將一個大型的Android應用程序拆分成多個獨立的組件&#xff08;Module&#xff09;&#xff0c;每個組件可以獨…

python使用裝飾器記錄方法耗時

思路 python使用修飾器記錄方法耗時&#xff0c;目的是每當方法執行完后&#xff0c;可以記錄該方法耗時&#xff0c;而不需要在每個方法的執行前后&#xff0c;去創建一個臨時變量&#xff0c;來記錄耗時。 方式一&#xff08;不推薦&#xff09;&#xff1a; 在每個方法的…

source insight 添加宏-文件頭加注釋

source insight 3.5 自帶的一些宏&#xff0c;在安裝目錄下的 utils.em 文件中&#xff0c;用戶也可以自己寫文件&#xff0c;命令為xxx.em &#xff0c;然后把這個文件添加到項目中即可&#xff0c;添加后在菜單欄 Options -> Key Assignments 里輸入macro 就能顯示新添加的…

第一個ArkTS項目實踐-鴻蒙ArkTS

第一個ArkTS項目實踐-ArkTS 第一個ArkTS項目實踐-ArkTS自定義組件的組成配置屬性與布局配置屬性布局 改變組件狀態循環渲染列表數據代碼ToDoItem組件ToDoList頁面 效果參考資料 第一個ArkTS項目實踐-ArkTS 本篇文章是官網上視頻對ArkTS開發實踐的第一個視頻&#xff0c;主要是引…

Matplotlib數據可視化(三)

目錄 1.繪圖的填充 1.1 曲線下方區域的填充 1.2 填充部分區域 1.3 兩條曲線之間的區域填充 1.4 直接使用fill進行填充 1.繪圖的填充 繪圖的填充可以調用fill_between()或fill()進行填充。 1.1 曲線下方區域的填充 x np.linspace(0,1,500) y np.sin(3*np.pi*x)*np.exp…

【C語言】每日一題(找到所有數組中消失的數字)

找到所有數組中消失的數字&#xff0c;鏈接奉上。 這里簡單說一下&#xff0c;因為還沒有接觸到動態內存&#xff0c;數據結構&#xff0c;所以知識有限&#xff0c;也是盡力而為&#xff0c;結合題庫的評論區找到了適合我的解法&#xff0c;以后有機會&#xff0c;會補上各種…

如何在HTML中使用React

突發奇想 查了查真的可以,官方文檔: 在網站中添加 React – React 開始 引入js <!-- 開發環境使用 --><script src"https://unpkg.com/react18/umd/react.development.js"></script><script src"https://unpkg.com/react-dom18/umd/reac…

穿越數字奇境:探尋元宇宙中的科技奇跡

隨著科技的迅速發展&#xff0c;元宇宙正逐漸成為一個備受關注的話題&#xff0c;它不僅是虛擬現實的延伸&#xff0c;更是將現實世界與數字世界融合的未來典范。在這個神秘而充滿活力的數字奇境中&#xff0c;涉及了眾多領域和技術&#xff0c;為我們呈現出了一個無限的創新和…